代码源于朱耀庭老师的《汇编语言程序设计》清华大学出版社
大体思路:把结果看成两位十进制,add之后把结果除以10,商保存到al,余数保存到ah,有进位结果显示正常,没有进位则高位显示零,低位显示结果
代码在32位win7下masm5编译通过
code segment assume cs:code start: mov dl,'?';2号功能调用显示问号 mov ah,02h int 21h mov ah,01h;1号功能调用输入第一个值 int 21h mov bl,al;保存第一个值 sub bl,30h;转换成数字 mov dl,'+';显示加号 mov ah,02h int 21h mov ah,01h;输入第二个值并转换成数字 int 21h sub al,30h mov dh,al;保存到dh mov dl,'=';显示等号 mov ah,02h int 21h mov al,dh;将输入的第二个数取出 add al,bl;并与bl中的第一个数相加放入al中 mov ah,0;ah清零 mov bl,10 div bl;al除以bl结果 商保存到al余数保存到ah mov bl,ah mov dl,al add dl,30h mov ah,02h int 21h mov dl,bl add dl,30h mov ah,02h int 21h mov dl,0dh int 21h mov dl,0ah int 21h mov ah,4ch int 21h code ends end start