程序,必须输入两位10进制数. 比如 11,45 以空格隔开,必须是这样的形式,否则无法计算并且两数的和不能超过99,
data1 segment
var db 6,0,6 dup(0),'$'
da1 db 2 dup(0),0ah,0dh,'$'
da2 db 2 dup(0),0ah,0dh,'$'
str1 db 'please input two variable!',0ah,0dh,'$'
data1 ends
code1 segment
assume ds:data1,cs:code1
start:
mov ax,data1; 初始化
mov ds,ax
mov dx,offset var; 输入相加的数
mov ah,0ah
int 21h
mov si,2 ;把第一个数移动到大da1
mov cx,2
lea di,da1
loopda1:mov bl,byte ptr var[si]
mov byte ptr [di],bl
inc si
inc di
loopnz loopda1
inc si
mov cx,2
lea di,da2
loopda2:mov bl,byte ptr var[si]
mov byte ptr [di],bl
inc di
inc si
loopnz loopda2
lea di,da1
lea si,da2
mov cx,2
loop1:sub byte ptr [di],30h
sub byte ptr [si],30h
inc di
inc si
loopnz loop1
dec si
dec di
clc
mov cx,2
mov bp,0
loop2:mov al,[di]
adc al,[si]
aaa
mov [di],al
dec di
dec si
loop
版权声明:本文为loudyten原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。