汇编程序实现两个数相乘结果出错,求助大神
DATA SEGMENT
A DB '7'
B DB '6'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,A
AND AL,0FH
MOV BL,B
AND BL,0FH
MUL BL
AAM
ADD AX,3030H
MOV DL,AH
MOV AH,02H
INT 21H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
程序是结果应该是42,但是运行后是44 ,说明AL的值应该被改变了,先把AL 保存后再用int功能,结果就是正确的,为什么
21h 中断的含裂岩 02h 功能在返回时, 将刚才显示源灶输出的字符返回在 al 寄存器谈御里, AL的值被改变了