格式MZ 输入CODE:START
SEGMENT dDATA
NUM1 DB ?
NUM2 DB ?
RESULT DB ?
MSG1 DB 10,13,"ENTER FIRST NUMBER TO ADD : $"
MSG2 DB 10,13,"ENTER SECOND NUMBER TO ADD : $"
MSG3 DB 10,13,"RESULT OF ADDITION IS : $"
SEGMENT CODE START:
MOV AX, dDATA
MOV DS,AX
LEA DX, [MSG1]
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV [NUM1], AL
LEA DX, [MSG2]
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV [NUM2] ,AL
ADD AL, [NUM1]
MOV [RESULT], AL
MOV AH,0
AAA
ADD AH,30H
ADD AL,30H
MOV BX,AX
LEA DX, [MSG3]
MOV AH,9
INT 21H
MOV AH,2
MOV DL,BH
INT 21H
MOV AH,2
MOV DL,BL
INT 21H
MOV AH,4CH
INT 21H
答案 0 :(得分:0)
https://www.pdf-archive.com/2016/11/25/fasm/
减法:
sub al,1
sub从目标操作数中减去源操作数并替换 目标操作数与结果。如果需要借款,则设定CF.规则 操作数与添加指令相同。
乘法:
mul bx
mul执行操作数和累加器的无符号乘法运算。如果 操作数是一个字节,处理器将它乘以al的内容并返回16位 结果啊和al。如果操作数是一个字,则处理器将其乘以ax的内容并将32位结果返回到dx和ax。如果操作数是双字,则 处理器将它乘以eax的内容并返回edx和中的64位结果 EAX。当结果的上半部分非零时,mul设置CF和OF,否则为 被清除了。
分:
div bx
div通过操作数执行累加器的无符号除法。红利 (累加器)是除数(操作数),商和余数的两倍 与除数大小相同。如果除数是字节,则从中获取被除数 ax寄存器,商存储在al中,余数存储在ah中。如果除数是 一句话,股息的上半部分取自dx,股息的下半部分取得 从ax开始,商存储在ax中,余数存储在dx中。如果除数是 双字,股息的上半部分来自edx,股息的下半部分是 取自eax,商存储在eax中,其余商存储在edx中。规则 对于操作数,与mul指令相同。