帮小弟一把,有个程序怎么也调试不出来,谢谢了啊!
这是一个关于四位十进制数相加运算并显示结果的程序,请大虾们帮我调试一下,是什么地方的问题啊?
data segment
data1 db 4 dup(?)
data2 db 5 dup(?)
data3 db 0dh,0ah,'$'
data ends
stack segment para stack 'stack'
db 64 dup(?)
stack ends
cfd macro
mov dx offset data3
mov ah,09h
int 21h
endm
code segment para 'code'
assume cs:code,ds:data,ss:stack,es:data
start proc far
push ds
mov ax,0
push ax
mov es,ax
mov si,offset data1
call sav
cfd
mov si,offset data2 ;24
call sav
sfd
std
mov si,offset data1+3
mov di,offset data2+3
mov cx,04h
mov ah,00h
lop1:lods data1+3
sahf
abc al,[di] ;34
aaa
lahf
oral 30h
inc di
stoh
del di
loop lop1
inc di
stoh
del di
loop lop1
inc di
stoh
del di
loop lop1
inc di
and ah,01h
or ah,30h
mov [di],ah
mov ah,02h
mov cx,05h
lop2:mov dl,[di]
int 21h
inc di
loop lop2
ret
start endp
sav proc near
mov cx,04h
lep:mov ah,01h
int 21h
mov [si],al
inc si
loop lep
ret
sow endp
code ends
end