汇编题--》已知x,y,z,v,是16位带符号数,计算(v-(x+y+z-540))/x

来源:百度知道 编辑:UC知道 时间:2024/05/13 07:38:31
已知x,y,z,v,是16位带符号数,计算(v-(x+y+z-540))/x
帮忙逐行注释,本人刚学!!!!
很感谢!!!

MOV AX,X
IMUL Y ; x*y->(dx,ax)
MOV CX,AX
MOV BX,DX

MOV AX,Z
CWD ; z->(dx,ax) 符号扩展
ADD CX,AX
ADC BX,DX ;x*y+z->(bx,ax)

SUB CX,540 ; x*y+z*540
SBB BX,0

MOV AX,V
CWD ; v->(dx,ax) 符号扩展
SUB AX,CX
SBB DX,BX ; v-(x*y+z*540)
IDIV X ;(v-(x*y+z*540) )/x->(ax) 余数->(dx)

MOV AX,X
IMUL Y ; X*Y 结果存在(DX,AX)
MOV CX,AX
MOV BX,DX ;此时第一个数存在(BX,CX)

MOV AX,Z ;将Z赋给AX
CWD ; Z->(DX,AX) 符号扩展
ADD CX,AX
ADC BX,DX ;X*Y+Z