(写一个程序到(a)显示?
,(b)读取两个十进制数字,其总和小于10,(c)在下一行显示它们和它们的总和,并带有适当的消息。);这里是代码
.code
;(a)
mov dl, '?'
mov ah, 2
int 21h
;(b)
mov ah, 1
int 21h
mov dh, al
mov num1, dh
sub dh, 30h
mov ah, 1
int 21h
mov ch, al
mov num2, ch
sub ch, 30h
;mov al, num1
mov al, num1
add al, num2
sub al, 30h
mov sum, al
mov ah, 9
lea dx, msg
int 21h
ret
答案 0 :(得分:0)
您已将所有转化步骤放在错误的位置。
mov ah, 1
int 21h
sub al, 30h
mov num1, al
mov ah, 1
int 21h
sub al, 30h
mov num2, al
在您进行最终添加时,您不希望再次减去30h,而是将总和添加30h以将其转换为准备显示的角色。
mov al, num1
add al, num2
add al, 30h
mov sum, al ;sum contains a displayable character.