汇编语言中的模式
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: 学习使用调试器。
.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
.
PS: 学习使用调试器。