您的位置:首页 > 其它

汇编一位数加法

2015-12-17 18:09 155 查看
代码源于朱耀庭老师的《汇编语言程序设计》清华大学出版社

大体思路:把结果看成两位十进制,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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编语言