汇编高手请进!!! 汇编语言高手请进!!

\u6c47\u7f16\u9ad8\u624b\u8bf7\u8fdb

; \u672c\u7a0b\u5e8f\u901a\u8fc7\u7f16\u8bd1\uff0c\u8fd0\u884c\u6b63\u786e
Code Segment
Assume CS:Code,DS:Code
CR equ 000DH
LF equ 000AH
KBBack equ 0008H
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u529f\u80fd\uff1a\u663e\u793a\u6307\u5b9a\u5730\u5740\uff08Str_Addr\uff09\u7684\u5b57\u7b26\u4e32
; \u5165\u53e3\uff1a
; Str_Addr\uff1d\u5b57\u7b26\u4e32\u5730\u5740\uff08\u8981\u6c42\u5728\u6570\u636e\u6bb5\uff09
; \u7528\u6cd5: Output Str_Addr
; \u7528\u6cd5\u4e3e\u4f8b\uff1aOutput PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u529f\u80fd\uff1a\u53d6\u5149\u6807\u4f4d\u7f6e
; \u5165\u53e3\uff1a\u65e0
; \u51fa\u53e3\uff1aDH=\u884c\u53f7\uff0cDL=\u5217\u53f7
GetCursor Proc Near
PUSH AX
PUSH BX
PUSH CX
XOR BX,BX
MOV AH,3
INT 10H
MOV Cursor_Row,DH
MOV Cursor_Col,DL
POP CX
POP BX
POP AX
RET
Cursor_Row DB ?
Cursor_Col DB ?
GetCursor EndP
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u529f\u80fd\uff1a\u7f6e\u5149\u6807\u4f4d\u7f6e
; \u5165\u53e3\uff1aCursor_Row=\u884c\u5750\u6807; Cursor_Col: \u5217\u5750\u6807)
SetCursor Proc Near
PUSH CX
PUSH BX
PUSH AX
MOV DH,Cursor_Row
MOV DL,Cursor_Col
XOR BX,BX
MOV AH,2
INT 10H
POP AX
POP BX
POP CX
RET
SetCursor EndP
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u529f\u80fd\uff1a\u8f93\u51fa\u56de\u8f66\u6362\u884c
enter_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
enter_CTLF endp
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u529f\u80fd\uff1a\u8f93\u51fa\u4e00\u4e2a\u5b57\u7b26
; \u5165\u53e3\uff1adl=\u8981\u663e\u793a\u7684\u5b57\u7b26
enter_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
enter_Chr endp
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u529f\u80fd\uff1a\u952e\u76d8\u8f93\u5165\u4e00\u4e2aN\u4f4d\u7684\u5341\u8fdb\u5236\u6570\u5b57\uff0c
; \u7528\u903b\u8f91\u548c\u79fb\u4f4d\u6307\u4ee4\u5c06\u5176\u8f6c\u6362\u6210\u4e8c\u8fdb\u5236\u6570\u5e76\u4fdd\u5b58\u5728\u6307\u5b9a\u7684\u5185\u5b58\u5355\u5143\u3002
; \u5165\u53e3\uff1aN=\u6570\u5b57\u4f4d\u6570\uff1bdi=\u4fdd\u5b58\u8f93\u5165\u7684\u6570\u5b57\u9996\u5730\u5740
; \u51fa\u53e3\uff1a\u8f6c\u6362\u540e\u7684\u4e8c\u8fdb\u5236\u6570\u4fdd\u5b58\u5728di\u6240\u6307\u7684\u5355\u5143
Input_Digit Proc Near
push dx
push cx
push bx
push di
lea di,@@Save_Tmp
push di
cld
mov cx,N
push cx
@@Input: call GetCursor ;\u53d6\u5149\u6807\u4f4d\u7f6e
mov ah,1 ;\u4ece\u952e\u76d8\u63a5\u53d7\u4e00\u4e2a\u5b57\u7b26
int 21h
cmp al,CR ;\u82e5\u952e\u5165\u7684\u662f\u56de\u8f66\uff0c\u5df2\u7ecf\u952e\u5165\u7684\u6570\u5b57\u4e0d\u8db3N\u4f4d
jz @@ASC_Dec ;\u8f6c\u53bb\u5904\u7406\u5df2\u7ecf\u952e\u5165\u7684\u6570\u5b57
cmp al,KBBack
jz @@KB_Back ;\u82e5\u662f\u56de\u7a7a\u952e\uff0c\u91cd\u65b0\u8f93\u5165
cmp al,'0'
jb @@KBBack ;\u82e5\u4f4e\u4e8e\u6570\u5b57'0'\uff0c\u91cd\u65b0\u8f93\u5165
cmp al,'9'
ja @@KBBack ;\u82e5\u4f4e\u4e8e\u6570\u5b57'9'\uff0c\u91cd\u65b0\u8f93\u5165
jmp @@Save_Dig
@@KB_Back: dec Cursor_Col
inc cx
dec di
@@KBBack: call SetCursor ;\u7f6e\u5149\u6807\u4f4d\u7f6e
jmp @@Input
@@Save_Dig: and al,0fh ;\u8f6c\u6362\u6210\u4e8c\u8fdb\u5236\u6570
stosb ;\u4fdd\u5b58
loop @@Input ;\u63a5\u53d7\u4e0b\u4e00\u4e2a\u6570\u5b57
@@ASC_Dec: mov ax,cx
pop cx
pop si
sub cx,ax ;\u5b9e\u9645\u8f93\u5165\u7684\u6570\u5b57\u4f4d\u6570
xor bp,bp
xor dx,dx
xor ax,ax
jcxz @@Save_Ret ;\u82e5\u76f4\u63a5\u56de\u8f66\uff0c\u6ca1\u6709\u8f93\u5165\u4efb\u4f55\u6570\u5b57\uff0c\u6309\u8f93\u5165'0'\u5904\u7406
dec cx ;\u5b9e\u9645\u8f93\u5165\u7684\u6570\u5b57\u4f4d\u6570\u51cf1\uff0c\u51c6\u5907\u628a\u8f93\u5165\u7684\u8fd9\u4e00\u4e32\u6570\u5b57\u8f6c\u6362\u6210\u4e8c\u8fdb\u5236\u6570
jcxz @@One_Digit ;\u82e5\u8f93\u5165\u7684\u6570\u5b57\u53ea\u6709\u4e00\u4f4d\uff0c\u8f6c\u53bb\u76f4\u63a5\u4fdd\u5b58\u8fd9\u4e2a\u4e8c\u8fdb\u5236\u6570
mov bx,10
@@Mul_Ten: lodsb
cbw
add ax,bp
mul bx
mov bp,ax
loop @@Mul_Ten
@@One_Digit:lodsb
cbw
add ax,bp
@@Save_Ret: pop di
stosw
pop bx
pop cx
pop dx
ret
@@Save_Tmp db 16 dup(?)
Input_Digit EndP
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u529f\u80fd\uff1a\u628aAX\u4e2d\u7684\u4e8c\u8fdb\u5236\u6709\u3001\u65e0\u7b26\u53f7\u6570\u8f6c\u6362\u6210\u663e\u5f0f\u7684\u5341\u8fdb\u5236ASCII\u7801\uff0c\u5e76\u9001\u663e\u793a\u5c4f\u663e\u793a
; \u5165\u53e3\uff1aAX=\u4e8c\u8fdb\u5236\u6570
; Signed=\u662f\u5426\u6709\u7b26\u53f7\u6570\u3002'y'=\u6709\u7b26\u53f7\u6570\uff0c'n'=\u65e0\u7b26\u53f7\u6570
; \u51fa\u53e3\uff1a\u5728\u5f53\u524d\u5149\u6807\u4f4d\u7f6e\u663e\u793a\u8f6c\u6362\u540e\u7684ASCII\u7801\u6570\u5b57
Dec_ASCII Proc Near
push dx
push bx
push di
.IF Signed == 'y'
mov @@Carry_Yes,'+'
test ax,8000h
jz $+9
mov @@Carry_Yes,'-'
neg ax
.Endif
mov bx,10
lea di,@@Temp_Save[6]
mov byte ptr [di],'$'
dec di
cld
@@Divide: xor dx,dx
div bx
or dl,30h
mov [di],dl
dec di
test ax,0ffffh
jnz @@Divide
.IF Signed == 'y'
cmp @@Carry_Yes,'-'
jnz $+6
mov byte ptr [di],'-'
dec di
.Endif
inc di
push di
pop dx
mov ah,9
int 21h
pop di
pop bx
pop dx
ret
@@Temp_Save db 7 dup(?)
@@Carry_Yes db '+'
Dec_ASCII EndP
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
N equ 3 ;\u8f93\u5165\u7684\u5341\u8fdb\u5236\u6574\u6570\u4f4d\u6570
Signed db 'n' ;\u662f\u5426\u6709\u7b26\u53f7\u6570\u3002'y'=\u6709\u7b26\u53f7\u6570\uff0c'n'=\u65e0\u7b26\u53f7\u6570
Number1 dw ?
Number2 dw ?
Period_Aft db 3 ;\u4fdd\u7559\u5c0f\u6570\u4f4d\u6570
prompt_One db 'Please the first number: $'
prompt_Two db 'Please the second number: $'
prompt_Sum db 'the sum is $'
prompt_Sub db 'the substrate is $'
prompt_Pro db 'the product is $'
prompt_Div db 'the division is $'
Start: push cs
pop ds
push cs
pop es ;\u4f7f\u6570\u636e\u6bb5\u3001\u9644\u52a0\u6bb5\u4e0e\u4ee3\u7801\u6bb5\u540c\u6bb5
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u8f93\u5165\u4e24\u4e2a\u5341\u8fdb\u5236\u6570
Output prompt_One ;\u63d0\u793a\u8f93\u5165\u7b2c\u4e00\u4e2a\u6570
lea di,Number1 ;\u53d8\u91cfNumber1\u7684\u5730\u5740
call Input_Digit ;\u4ece\u952e\u76d8\u63a5\u53d7\u4e00\u4e2aN\u4f4d\u6570\u5b57
call enter_CTLF ;\u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u3001\u6362\u884c
Output prompt_Two ;\u63d0\u793a\u8f93\u5165\u7b2c\u4e00\u4e2a\u6570
lea di,Number2 ;\u53d8\u91cfNumber1\u7684\u5730\u5740
call Input_Digit ;\u4ece\u952e\u76d8\u63a5\u53d7\u4e00\u4e2aN\u4f4d\u6570\u5b57
call enter_CTLF ;\u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u3001\u6362\u884c
call enter_CTLF ;\u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u3001\u6362\u884c
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u52a0\u6cd5\u8fd0\u7b97
Output prompt_Sum ;\u63d0\u793a\u663e\u793a\u548c
mov ax,Number1
add ax,Number2 ;Number1+Number2\u2192AX
call Dec_ASCII ;\u663e\u793a\u548c
call enter_CTLF ;\u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u3001\u6362\u884c
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u51cf\u6cd5\u8fd0\u7b97
Output prompt_Sub ;\u63d0\u793a\u663e\u793a\u5dee
mov ax,Number1
sub ax,Number2 ;Number1-Number2\u2192AX
call Dec_ASCII ;\u663e\u793a\u5dee
call enter_CTLF ;\u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u3001\u6362\u884c
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u4e58\u6cd5\u8fd0\u7b97\uff08\u8bf7\u4e8b\u5148\u7b97\u597d\u4e86\uff0c\u5426\u5219\uff0c\u5bb9\u6613\u5bfc\u81f4\u4e58\u79ef\u8d85\u8fc716\u4f4d\u5bc4\u5b58\u5668\u80fd\u591f\u8868\u793a\u7684\u8303\u56f4\uff09
Output prompt_Pro ;\u63d0\u793a\u663e\u793a\u79ef
mov ax,Number1
.IF Signed == 'y' ;\u6709\u7b26\u53f7\u6570\u4e58\u6cd5
imul Number2 ;Number1*Number2\u2192AX
.ELSE ;\u65e0\u7b26\u53f7\u6570\u4e58\u6cd5
mul Number2 ;Number1*Number2\u2192AX
.Endif
call Dec_ASCII ;\u663e\u793a\u4e58\u79ef\uff08\u5047\u5b9a\u4e58\u79ef\u4e0d\u8d85\u8fc716\u4f4d\u5bc4\u5b58\u5668\u80fd\u591f\u8868\u793a\u7684\u8303\u56f4\uff09
call enter_CTLF ;\u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u3001\u6362\u884c
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
; \u9664\u6cd5\u8fd0\u7b97
Output prompt_Div ;\u63d0\u793a\u663e\u793a\u5546
xor dx,dx
mov ax,Number1
.IF Signed == 'y' ;\u6709\u7b26\u53f7\u6570\u4e58\u6cd5
idiv Number2 ;Number1/Number2\u2192AX\uff08\u5546\uff09\uff0cDX\uff08\u4f59\u6570\uff09
.ELSE ;\u65e0\u7b26\u53f7\u6570\u4e58\u6cd5
div Number2 ;Number1/Number2\u2192AX\uff08\u5546\uff09\uff0cDX\uff08\u4f59\u6570\uff09
.Endif
call Dec_ASCII ;\u663e\u793a\u5546\u6570\u7684\u6574\u6570\u90e8\u5206
test dx,0ffffh ;\u5224\u65ad\u4f59\u6570\u662f\u5426\u4e3a0
jz Exit_Proc ;\u80fd\u591f\u6574\u9664\uff0c\u7ed3\u675f\u7a0b\u5e8f
push dx
mov dl,'.'
call enter_Chr ;\u663e\u793a\u4e00\u4e2a\u5c0f\u6570\u70b9
pop dx
mov bp,10 ;\u4e58\u6570
mov cl,Period_Aft ;\u4fdd\u7559\u5c0f\u6570\u4f4d\u6570
xor ch,ch
Dec_Frac: mov ax,dx ;\u4f59\u6570\u4e0d\u4e3a0\uff0c\u5904\u7406\u5c0f\u6570\u90e8\u5206
mul bp ;\u4f59\u6570\u4e5810\uff0c\u7ee7\u7eed\u505a\u9664\u6cd5
div Number2 ;\u9664\u4ee5\u9664\u6570\uff0c\u53d6\u5546\u6570\u4f5c\u4e3a\u7ed3\u679c\u7684\u4e00\u4f4d\u5c0f\u6570
push dx
or al,30h
mov dl,al
call enter_Chr ;\u663e\u793a\u4e00\u4f4d\u5c0f\u6570
pop dx
test dx,0ffffh ;\u5224\u65ad\u4f59\u6570\u662f\u5426\u4e3a0
jz Exit_Proc ;\u80fd\u591f\u6574\u9664\uff0c\u7ed3\u675f\u7a0b\u5e8f
loop Dec_Frac
call enter_CTLF ;\u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u3001\u6362\u884c
; \uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d\uff0d
Exit_Proc: mov ah,4ch ;\u7ed3\u675f\u7a0b\u5e8f
int 21h
Code ENDS
END Start ;\u7f16\u8bd1\u5230\u6b64\u7ed3\u675f

\u4f60\u8bf4\u7684\u662fcall\u6307\u4ee4\u5427~~\u90fd\u8981\u4fdd\u5b58\u4e0b\u4e00\u4e2a\u6307\u4ee4\u7684\u5730\u5740\u554a\uff0c\u53ea\u662f\u6bb5\u95f4\u8f6c\u79fb\u8fd8\u4fdd\u5b58\u6bb5\u7684\u503c\u5230\u6808\u91cc\uff1b\u6bb5\u5185\u4e0d\u9700\u8981\u800c\u5df2\uff1b\u4f60\u8bf4\u7684\u90a3\u79cd\u4e0d\u9700\u8981\u4fdd\u5b58\u8fd4\u56de\u5730\u5740\u7684 \u4f60\u662f\u8bf4jmp jnz\u90a3\u79cd\u4e48\uff1f\u8fd9\u79cd\u6ca1\u4fdd\u5b58\u8fd4\u56de\u5730\u5740\uff0c\u5b83\u4eec\u4e5f\u7b97\u662f\u8f6c\u79fb\u6307\u4ee4\u554a

A+B=C 形式的
INPUT MACRO NUM
LOCAL NEXT1
LOCAL NEXT2
LOCAL END0
NEXT1:
LEA DX,STRING1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
CMP AL,30H
JL NEXT2
CMP AL,39H
JG NEXT2
JMP END0
NEXT2:
LEA DX,STRING2
MOV AH,9
INT 21H
JMP NEXT1
END0:
AND AL,0FH
MOV NUM,AL
ENDM

DATA SEGMENT
STRING1 DB 0AH,0DH,'Please input a number(0 to 9):$'
STRING2 DB 0AH,0DH,'Bad number!$'
STRING3 DB 0AH,0DH
DB 10 DUP(0)
NUM1 DB ?
NUM2 DB ?
DATA ENDS

STACK1 SEGMENT PARA STACK
BUF Db 60 DUP(?)
STACK1 ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX

INPUT NUM1
INPUT NUM2
CLD
LEA DI,[STRING3+2]
MOV AL,NUM1
OR AL,30H
STOSB
MOV AL,2BH
STOSB
MOV AL,NUM2
OR AL,30H
STOSB
MOV AL,3DH
STOSB

XOR AX,AX
MOV AL,NUM1
ADD AL,NUM2
AAA
PUSH AX
MOV AL,AH
TEST AL,AL
JZ NEXT
OR AL,30H
STOSB
NEXT:
POP AX
OR AL,30H
STOSB
MOV AL,24H
STOSB
LEA DX,STRING3
MOV AH,9
INT 21H
MOV AX,4C00H
INT 21H
CODE ENDS
END START

给你一个算法: 可以求一个数的近似开方平值!

1+3+5+7......2(n-1)=n的平方

所以只要用n的平方的值连续减去奇数1.3.5......2(n-1) 当减到第n+1次其差为负,则够减的次数n就是要开方的近似值! 我可能说的不是太明白,给你一段开方子程序给你参考!

mov bx,0
mov dx,1
mov ax,y ;y是要开方的数
again: sub ax,dx
jc exit ;如果不够减则结束
inc dx
inc dx
inc bx ;计数器bx
jmp again

最后求出的那个bx的值就是所要求的平方根

此程序能实现加、减、乘、除的计算。程序接受的是16进制数。执行时,需在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下:
c:\masm>js 3+2
5

c:\masm>js 6*7
2A

c:\masm>js 10-4
c

c:\masm>js 12/3
6

程序清单:

;js.asm
B_P EQU BYTE PTR
W_P EQU WORD PTR
D_P EQU DWORD PTR
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
ORG 100H

;主程序开始
NEWSTAR:
JMP STAR
EVEN
NUM1 DW 0,0
NUM2 DW 0,0
NUM3 DW 0,0
JGV4 DW 0,0
YSF LABEL WORD
YSF1 DB 0
YSF2 DB 0
JUV DB 0
UV DB 0

;使DS:SI指向第一有效字符
OVERS LABEL NEAR
CLD
PUSH AX
OVERS1:
LODSB
CMP AL,' '
JZ OVERS1
CMP AL,9
JZ OVERS1
DEC SI
CMP AL,13
POP AX
RET

;输出一个制表符
TAB LABEL NEAR
MOV AL,9
JMP SHORT DISP

;输出一个回车换行符
CRLF LABEL NEAR
MOV AL,13
CALL DISP
MOV AL,10

;显示一个字符
DISP LABEL NEAR
PUSH AX
PUSH DX
MOV AH,2
MOV DL,AL
INT 21H
POP DX
POP AX
RET

;检查是否为运算符
ISYSF LABEL NEAR
CLD
LODSB
CALL ISJJ
JZ ISYSF1
CALL ISII
JZ ISYSF1
DEC SI
ISYSF1:
RET

;检查是否是加减运算
ISJJ LABEL NEAR
CMP AL,'+'
JZ ISYSF1
CMP AL,'-'
RET

;检查是否为乘除运算
ISII LABEL NEAR
CMP AL,'*'
JZ ISYSF1
CMP AL,'/'
JZ ISYSF1
CMP AL,'\'
RET

;数据输出
;CX=10 十进制
;CX=16 十六进制
DOUT LABEL NEAR
PUSH AX
PUSH BX
PUSH DX
PUSH BP
XOR BP,BP
DOUT1:
INC BP
PUSH AX
MOV AX,DX
XOR DX,DX
DIV CX
MOV BX,AX
POP AX
DIV CX
PUSH DX
MOV DX,BX
OR BX,AX
JNZ DOUT1
DOUT2:
POP AX
ADD AL,'0'
CMP AL,'9'
JBE DOUT3
ADD AL,'A'-'9'-1
DOUT3:
CALL DISP
DEC BP
JNZ DOUT2
POP BP
POP DX
POP BX
POP AX
RET

;输入数据在DX:AX中返回
;CX=0 数据为10进制
;CX#0 数据为16进制
DATE LABEL NEAR
PUSH BX
PUSH BP
PUSH DI
XOR AX,AX
XOR DX,DX
DATE1:
MOV DI,AX
LODSB
CMP AL,'0'
JB DATE7
CMP AL,'9'
JA DATE6
DATE2:
AND AX,0FH
SHL DI,1
RCL DX,1
MOV BX,DI
MOV BP,DX
SHL DI,1
RCL DX,1
SHL DI,1
RCL DX,1
JCXZ DATE3
SHL DI,1
RCL DX,1
Jmp short DATE4
DATE3:
ADD DI,BX
ADC DX,BP
DATE4:
ADD AX,DI
ADC DX,0
JMP DATE1
DATE5:
ADD AL,9
JMP DATE2
DATE6:
JCXZ DATE7
CMP AL,'A'
JB DATE7
CMP AL,'F'
JBE DATE5
CMP AL,'a'
JB DATE7
CMP AL,'f'
JBE DATE5
DATE7:
MOV AX,DI
DEC SI
OR DI,DX
POP DI
POP BP
POP BX
RET

;数据1与数据2根据YSF1进行加减运算
JSJJ LABEL NEAR
MOV AX,NUM2
MOV DX,NUM2+2
CMP YSF1,'+'
JZ JSJJ1
SUB NUM1,AX
SBB NUM1+2,DX
JMP SHORT JSJJ2
JSJJ1:
ADD NUM1,AX
ADC NUM1+2,DX
JSJJ2:
RET

;数据1与数据2根据YSF1进行乘除运算
JSII1 LABEL NEAR
MOV BX,OFFSET NUM1
JMP SHORT JSII2_1

;数据2与数据3根据YSF2进行乘除运算
JSII2 LABEL NEAR
MOV BX,OFFSET NUM2
JSII2_1:
DB 66H
MOV AX,[BX]
DB 66H
MOV CX,[BX+4]
CMP YSF2,'*'
JNZ JSII2_2
DB 66H
IMUL CX
JMP SHORT JSII2_3
JSII2_2:
DB 66H
CWD
DB 66H
IDIV CX
CMP YSF2,'/'
JZ JSII2_3
DB 66H
XCHG DX,AX
JSII2_3:
DB 66H
MOV [BX],AX
RET

;显示结果
XUJG LABEL NEAR
MOV AX,JGV4
MOV DX,JGV4+2
MOV CX,10
CMP UV,10
JZ XUJG0
MOV CX,16
XUJG0:
TEST DX,8000H
JZ XUJG1
CMP UV,10
JZ XUJG2
CALL DOUT
XUJG2:
NOT AX
NOT DX
ADD AX,1
ADC DX,0
PUSH AX
CMP UV,10
JZ XUJG3
MOV AL,' '
CALL DISP
MOV AL,'('
CALL DISP
XUJG3:
MOV AL,'-'
CALL DISP
POP AX
CMP UV,10
JZ XUJG1
CALL DOUT
MOV AL,')'
CALL DISP
RET
XUJG1:
CALL DOUT
RET

;计算结果放入DX:AX中
JSJG LABEL NEAR
CALL JSJJ
MOV AX,NUM1
MOV DX,NUM1+2
RET

;从DS:SI处取一个数据
LOADATE LABEL NEAR
LODSB
CMP AL,'('
JZ LOADATE1
DEC SI
PUSH CX
XOR CX,CX
CMP UV,10
JZ LOADATE0
INC CX ;取16进制数
LOADATE0:
CALL DATE ;取数据放入DX:AX中
POP CX
RET
LOADATE1:
PUSH NUM1 ;保存数据1数据2及运算符
PUSH NUM1+2
PUSH NUM2
PUSH NUM2+2
PUSH YSF
INC JUV
MOV JGV4,0 ;结果值清零
MOV JGV4+2,0

;进行四则运算
SZYS LABEL NEAR
CALL ISYSF ;首字符是运算符?
JZ SZYS2
CALL LOADATE ;不是,取数并保存
MOV NUM1,AX
MOV NUM1+2,DX
SZYS1:
XOR AX,AX ;数据2清零
MOV NUM2,AX
MOV NUM2+2,AX
CALL ISYSF ;下个是运算符?
JZ SZYS3
JNZ SZYS6
SZYS2:
PUSH AX
MOV AX,JGV4 ;将结果作为数据1
MOV NUM1,AX
MOV AX,JGV4+2
MOV NUM1+2,AX
POP AX
SZYS3:
MOV YSF1,AL
MOV YSF2,AL
CALL ISJJ ;是加减运算转
JZ SZYS4
CALL LOADATE ;取数据2
MOV NUM2,AX
MOV NUM2+2,DX
CALL JSII1 ;数据1与数据2根据YSF1进行乘除运算
JMP SZYS1 ; 结果保存在数据1中
SZYS4:
CALL LOADATE ;取数据2并保存
MOV NUM2,AX
MOV NUM2+2,DX
SZYS4_1:
CALL ISYSF
JNZ SZYS6
CALL ISJJ ;运算符2是加减运算?
JNZ SZYS5 ;不是转
PUSH AX
CALL JSJJ ;数据1与数据2根据YSF1进行加减运算
POP AX ; 结果保存在数据1中
MOV YSF1,AL ;保存新的运算符
JMP SZYS4
SZYS5:
MOV YSF2,AL ;保存运算符2
CALL LOADATE ;取数据3
MOV NUM3,AX
MOV NUM3+2,DX
CALL JSII2 ;数据2与数据3根据YSF2进行乘除运算
JMP SZYS4_1 ; 结果保存在数据2中
SZYS6:
MOV CL,AL
CMP AL,13
JNZ SZYS9
SZYS7:
CALL JSJG
CMP JUV,0
JZ SZYS8
DEC JUV
POP YSF
POP NUM2+2
POP NUM2
POP NUM1+2
POP NUM1
RET
SZYS8:
CMP CL,')'
JZ SZYS10
MOV JGV4,AX
MOV JGV4+2,DX
JNZ SZYS12
SZYS9:
CMP AL,')'
JNZ SZYS11
INC SI
JMP SZYS7
SZYS10:
MOV NUM1,AX
MOV NUM1+2,DX
JMP SZYS1
SZYS11:
STC
RET
SZYS12:
CLC
RET

;数制处理
UVIL LABEL NEAR
PUSH SI
UVIL1:
LODSB
CMP AL,' '
JZ UVIL2
CMP AL,9
JZ UVIL2
CMP AL,13
JZ UVIL4
JNZ UVIL1
UVIL2:
MOV BX,SI
CALL OVERS
JZ UVIL3
LODSW
CALL OVERS
POP SI
JNZ SZYS11
CMP AX,'01'
JNZ SZYS11
PUSH SI
MOV UV,10
UVIL3:
MOV AL,13
MOV [BX-1],AL
UVIL4:
POP SI
CLC
RET

;预置结果
YVJG LABEL NEAR
MOV AH,52H
INT 21H
MOV AX,ES:[BX-2]
MOV DS,AX
MOV AX,DS:[0CH]
MOV CS:JGV4,AX
MOV AX,DS:[0EH]
MOV CS:JGV4+2,AX
PUSH CS
POP DS
PUSH CS
POP ES
RET

;保存结果
BCJG LABEL NEAR
MOV AH,52H
INT 21H
MOV AX,ES:[BX-2]
MOV DS,AX
MOV AX,CS:JGV4
MOV DS:[0CH],AX
MOV AX,CS:JGV4+2
MOV DS:[0EH],AX
PUSH CS
POP DS
PUSH CS
POP ES
RET
STAR:
MOV SI,81H
CLD
CALL OVERS
JNZ STAR1
STAR0:
MOV DX,OFFSET MESS1
JMP STAR4
STAR1:
CALL YVJG
CALL UVIL
JB STAR0
MOV SAVESP,SP
CALL SZYS
MOV SP,SAVESP
MOV DX,OFFSET MESS2
JB STAR4
CALL CRLF
CALL XUJG
CALL BCJG
MOV DX,OFFSET MESS3
STAR4:
MOV AH,9
INT 21H
INT 20H
SAVESP DW 0
MESS1 DB 13,10,' Syntax:',13,10
DB ' JS <Expression> [10]',13,10,'$'
MESS2 DB 'Error in expression !$'
MESS3 DB 13,10,'$'
CODE ENDS
END NEWSTAR
注:此程序必须编译成.COM文件才能运行。

已知DATAX和DATAY单元各存放一个带符号字节数据,从键盘上接收加(+)、减(-)、乘(*)或除(/)号,完成相应运算,结果在屏幕上显示出来。
⑴ 当输入“+”号时,计算X+Y,并以十六进制形式显示出来;
⑵ 当输入“-”号时,计算X-Y,并以十六进制形式显示出来;
⑶ 当输入“*”号时,计算X*Y,并以十六进制形式显示出来;
⑷ 当输入“/”号时,计算X/Y,并以十六进制形式显示出来;
DSEG SEGMENT
DATAX DB 6H
DATAY DB 4H
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV BL,DATAX
MOV BH,DATAY
MOV AH,01H
INT 21H
CMP AL,'+'
JE Q1
CMP AL,'-'
JE Q2
CMP AL,'*'
JE Q3
CMP AL,'/'
JE Q4
Q4: MOV AL,BL
SUB AH,AH
DIV BH
MOV BL,AL
JMP Q5
Q3: MOV AL,BH
MUL BL
MOV BL,AL
JMP Q5
Q2: SUB BL,BH
JMP Q5
Q1: ADD BL,BH
Q5: MOV AL,BL
MOV CL,4
SHR AL,CL
ADD AL,30H
CMP AL,39H
JBE OK1
ADD AL,07H
OK1: MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL,39H
JBE OK2
ADD AL,07H
OK2: MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START

你直接在网上下数学运算的子程序不就可以了。
他们做的程序只是最最简单的程序,没有考虑双字节,多字节的情况,也没有考虑小数,负数的情况,只是最简单的单字节运算。
你到网上可以下载数学运算的子程序库,里面有你想要的东西。

;Binary to Hex
;二进制向十六进制转换

data segment
t1 db 10 dup(?)
data ends
stack segment
t2 db 10 dup(?)
stack ends
code segment
assume cs:code,ss:stack,ds:data
main proc
start:
mov ax,stack
mov ss,ax
mov ax,data
mov ds,ax

mov al,10011111b
mov bl,al
mov dl,al
mov cl,4
ror dl,cl
and dl,0fh
cmp dl ,10
jnl change
back:
add dl,30h
mov ah,2
int 21h

mov al,bl
mov dl,al
and dl,0fh
cmp dl,10
jnl change2
back2:
add dl,30h
mov ah,2
int 21h

mov ah,4ch
int 21h
change:
add dl,7
jmp back
change2:
add dl,7
jmp back2

main endp
code ends
end start

;十进制向二进制转换
;chang Decimall to binary
;the number is put in ax
data segment
t1 db 100 dup(?)
data ends
stack segment
t2 db 100 dup(?)
top label byte
stack ends
code segment
assume cs:code,ss:stack,ds:data
main proc
start:
mov ax,stack
mov ss,ax
mov ax,data
mov ds,ax

mov ax,12
mov bx,2
mov cx,0
decloop:
xor dx,dx
div bx ;(dx=reminder,ax=quotient)
inc cx
push dx
cmp ax,0
jnz decloop

poploop:
pop dx
add dl,30h
mov ah,2
int 21h
dec cx
jnz poploop

mov ah,4ch
int 21h
main endp
code ends
end start

;十进制向十六进制转换
; change decimal to hex
;the number is put in ax
data segment
t1 db 100 dup(?)
data ends
stack segment
t2 db 100 dup(?)
top label byte
stack ends
code segment
assume cs:code,ss:stack,ds:data
main proc
start:
mov ax,stack
mov ss,ax
mov ax,data
mov ds,ax

mov ax,3456
mov cx,0
mov bx,16

decloop:
xor dx,dx
div bx ;(dx=reminder,ax=quotient)
cmp dx,10
jnl change
push dx
putto:
inc cx
cmp ax,0
jnz decloop

poploop:
pop dx
add dl,30h
mov ah,2
int 21h
dec cx
jnz poploop

mov ah,4ch
int 21h

change:
add dx,7
push dx
jmp putto
main endp
code ends
end start

;十六进制向十进制转化
;chang H to D
;the number is put in ax
data segment
t1 db 100 dup(?)
data ends
stack segment
t2 db 100 dup(?)
top label byte
stack ends
code segment
assume cs:code,ss:stack,ds:data
main proc
start:
mov ax,stack
mov ss,ax
mov ax,data
mov ds,ax

mov ax,1234h
xor cx,cx
mov bx,10

decloop:
xor dx,dx
div bx ;(dx=reminder,ax=quotient)
inc cx
push dx
cmp ax,0
jnz decloop

;output
poploop:
pop dx
add dl,'0'
mov ah,2
int 21h
dec cx
jnz poploop

;return to dos
mov ah,4ch
int 21h
main endp
code ends
end start

  • 姹囩紪楂樻墜璇疯繘銆傚叧浜庝互涓嬮鐩殑浠g爜(姹囩紪璇█鐨)銆
    绛旓細;瀹忓畾涔1 ;鍔熻兘锛氭妸瀛楃涓蹭腑鐨勫ぇ鍐欐敼涓哄皬鍐.;鍏ュ彛锛氬瓧绗︿覆璧峰鍦板潃涓篠TR_ADDR ; 瀛楃涓叉槸浠0缁撳熬.D2X MACRO STR_ADDR LEA SI, STR_ADDR LP1:MOV AL, [SI]CMP AL, 0 JE FINI CMP AL, 'A'JB NEXT CMP AL, 'Z'JA NEXT ADD AL, 20H MOV [SI], AL NEXT:...
  • 姹囩紪楂樻墜璇疯繘銆傚叧浜庝互涓嬮鐩殑浠g爜(姹囩紪璇█鐨)銆
    绛旓細;瀹忓畾涔1 ;鍔熻兘锛氭妸瀛楃涓蹭腑鐨勫ぇ鍐欐敼涓哄皬鍐.;鍏ュ彛锛氬瓧绗︿覆璧峰鍦板潃涓篠TR_ADDR ;瀛楃涓叉槸浠0缁撳熬.D2X MACRO STR_ADDR LEA SI,STR_ADDR LP1:MOV AL,[SI]CMP AL,0 JE FINI CMP AL,'A'JB NEXT CMP AL,'Z'JA NEXT ADD AL,20H MOV [SI],AL NEXT:INC SI JMP LP1 FINI:ENDM ;--- ;...
  • 鍗曠墖鏈姹囩紪楂樻墜璇疯繘
    绛旓細EQU 30H 锛氬畾涔変簡浠ヤ釜鍙橀噺LED_0涓30h鍗曞厓 LED_1 EQU 31H 锛氬畾涔変簡浠ヤ釜鍙橀噺LED_1涓31h鍗曞厓 LED_2 EQU 32H 锛氬畾涔変簡浠ヤ釜鍙橀噺LED_2涓32h鍗曞厓 CLOCK BIT P2.4 锛氳繖鍙ョ殑鎰忔濇槸CLOCK浠h〃P2.4鍙 ST BIT P2.5 锛氳繖鍙ョ殑鎰忔濇槸ST浠h〃P2.5鍙 EOC BIT P2.6 锛氳繖鍙ョ殑鎰忔濇槸EOC浠h〃P2.6...
  • 鍏充簬姹囩紪鍋忕Щ閲忕殑涓浜涢棶棰 楂樻墜璇疯繘
    绛旓細1銆丆PU鏈20鏍瑰閮ㄦ荤嚎锛屾渶澶у彲瀵诲潃2鐨20娆℃柟锛屽氨鏄1MB鐨勫唴瀛樺湴鍧銆2銆16浣岰PU鏈澶у鍧涓2鐨16娆℃柟锛屽氨鏄粡甯歌鐨64KB銆3銆1M鏄1024*1024锛屼竴涓16浣嶅瘎瀛樺櫒瀛樺偍涓嶄笅锛屾墍浠ュ垎鎴愪袱涓瘎瀛樺櫒瀛樺偍銆備袱涓瘎瀛樺櫒鐨勬暟鎹庝箞缁勫悎鍛紵鏍囧噯灏辨槸鍓嶉潰涓涓瘎瀛樺櫒鐨勫煎乏绉诲洓浣+鍙︿竴涓瘎瀛樺櫒鐨勫 宸︾Щ4浣嶅氨鐩稿綋浜...
  • 鍏充簬姹囩紪璇█鐨勫甫绗﹀彿鏁扮殑鏈夊叧闂,楂樻墜璇疯繘,鎬!
    绛旓細1銆9098H鏄竴涓甫绗﹀彿鏁扮殑琛ョ爜锛岃浆鎹㈡垚浜岃繘鍒舵暟涓10010000 10011000B锛屽畠鐨勬渶楂樹綅涓1,鍗崇鍙蜂綅涓1,鎵浠ユ墿灞曞悗涓11111111 11111111 10010000 10011000B,瀵瑰簲鐨勫崄鍏繘鍒舵暟涓篎FFF9098H,鍚屾椂锛屼负浜嗗皢浠鍒癋寮澶寸殑鍗佸叚杩涘埗鏁板拰鍙橀噺鍖哄垎寮锛屽洜涓哄彉閲忔槸浠ュ瓧姣嶅紑澶寸殑锛屾墍浠ヨ灏嗕互A鍒癋寮澶寸殑鍗佸叚杩涘埗鏁板墠鍔犱竴涓...
  • 璇锋暀姹囩紪楂樻墜:涓轰粈涔堜功鍐欒繖鏉℃寚浠:mov ax,a001H 浣跨敤masm缂栬瘧鏃惰佹槸浼...
    绛旓細a001H琚湅鎴愪竴涓彉閲忓悕浜嗭紝鎵浠ユ彁绀烘病鏈夊畾涔夈傚湪a001H鍓嶅姞0锛岀紪璇戝櫒灏辫涓烘槸涓涓崄鍏繘鍒舵暟銆傛敼鎴愪笅闈㈣繖鍙ョ湅鐪嬨俶ov ax,0a001H 鎵嬪ご娌℃湁masm5.0缂栬瘧鍣紝娌℃硶妫楠岋紝浠呬緵鍙傝冦
  • 姹囩紪楂樻墜璇疯繘-鍩哄潃鍙樺潃瀵诲潃鏂瑰紡澶х浠府甯繖
    绛旓細鍜孴AB瀹氫箟鍦ㄥ摢涓娌″叧绯汇 TAB [BP] [SI]闅愬惈浣跨敤SS瀵勫瓨鍣ㄣ 鍩哄潃鍙樺潃瀵勫瓨鍣ㄤ娇鐢˙P浠ュ強BP鍜孲I銆丏I缁勫悎榛樿娈靛瘎瀛樺櫒鏄疭S锛屼娇鐢˙X浠ュ強BX鍜孲I銆丏I缁勫悎榛樿娈靛瘎瀛樺櫒鏄疍S锛屼粎浣跨敤SI榛樿娈靛瘎瀛樺櫒涓篋S锛屼粎浣跨敤DI榛樿娈靛瘎瀛樺櫒鏄疎S銆
  • 姹囩紪楂樻墜璇疯繘!!!
    绛旓細棣栧厛鍙互纭畾鏄16*16鐐归樀 鏄剧ず1鏃讹紝鍩烘湰鏄竴鏍圭珫绾匡紝闆嗕腑鍦ㄤ腑闂达紝鐐归樀鐨勪袱渚ч兘鏄0,鑰1闆嗕腑鍦ㄤ腑闂淬傚洜姝ゅ彲浠ュ垽鏂紝鐐归樀鐨勫瓨鏀鹃『搴忔槸绔栧悜鐨勩備粠涓婂埌涓嬶紝浠庡乏鍒板彸銆7f鍜宖e杩欎袱涓瓧鑺傛瀯鎴愪簡涓棿鐨勭珫绾裤
  • 姹囩紪璇█鐨楂樻墜璇疯繘,闂嚑涓畝鍗曢鐩
    绛旓細1 XOR AL锛孉L INC AL NEG AL INC AL MOV BL锛7FH ADC AL锛孊L 绛旓細涓婅堪绋嬪簭杩愯鍚庯紝AL=80H锛孋F=0 2 涓嬮潰绋嬪簭娈垫槸鍒ゆ柇瀵勫瓨鍣ˋH鍜孉L涓3浣嶆槸鍚︾浉鍚岋紝濡傜浉鍚岋紝AH缃0锛屽惁鍒橝H缃潪0銆傝瘯鎶婄┖鐧藉濉笂閫傚綋鐨勬寚浠わ紙涓涓┖鐧藉彧濉竴鏉℃寚浠わ級銆傜瓟锛 xor ah,al AND AH锛08H jz ZERO...
  • 姹囩紪楂樻墜璇疯繘
    绛旓細姹囩紪楂樻墜璇疯繘 浠庨敭鐩樹笂杈撳叆涓や釜0~65535涔嬮棿鐨勬暟,骞舵眰浠栦滑鐨勫拰銆佸樊銆佺Н銆佸晢銆傚叿浣撳涓媝leaseinputthefirstnumber:pleaseinputthefirstnumber:thesumis:thesubstrateis:theproductis:thedivisio... 浠庨敭鐩樹笂杈撳叆涓や釜0~65535涔嬮棿鐨勬暟,骞舵眰浠栦滑鐨勫拰銆佸樊銆佺Н銆佸晢銆傚叿浣撳涓 please input the first number: please ...
  • 扩展阅读:欢乐颂开局拿下关关 ... 欢乐颂之开局股票精通 ... 欢乐颂五畜同行 ... 开局欢乐颂十套房 ... 从欢乐颂开始的影视人生 ... 收集错误信息100%完成 ... 欢乐颂之泡妞系统 ... 欢乐颂之开局娶关关 ... 穿越影视欢乐颂精英律师 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网