.model small
.stack 100h
.Data
count word 0
.code
main proc
mov cx,5
mov al,40h
mov ah,2
mov bx,0
first :
mov count,cx
inc bx
inc al
mov cx,bx
second :
mov dl,al
int 21h
loop second
mov cx ,count
mov dx,13
mov ah,2
int 21h
mov dl,10
mov ah,2
int 21h
loop first
mov ax,4c00h
int 21h
main endp
end main
我编写了这段代码并期待像这样的输出
一个
BB
CCC
DDDD
EEEEE
但获得此输出
一个
00
000
0000
00000
任何人都可以解决此代码中的问题 当我删除换行代码行时,它会给出输出
ABBCCCDDDDEEEE
答案 0 :(得分:5)
int 21/02正在摧毁您的al
值。一个简单的解决方案是使用push ax
/ pop ax
围绕您的int 21h来电。
PS:学会使用调试器。