汇编语言中的模式

Pattern in assembly language

.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

int 21/02 正在摧毁你的 al 价值。一个简单的解决方案是用 push ax/pop ax.

包围您的 int 21h 调用

PS: 学习使用调试器。