[英]Print contains of an array in 8086 assembly
我正在尝试打印此数组。 以下是我的代码。 但是它会打印一些奇怪的字符9次(例如:ϵϵϵϵϵϵϵϵϵ)...请告诉我怎么了?
.data
arr db 2,3,4,5,6,7,8,9,0
.code
Main Proc
mov cx, 9
l1:
lea si, arr
mov bl, arr[si]
mov dl, bl
mov ah, 2
int 21h
inc si
loop l1
您需要将要显示的ASCII字符放入dl
。 如何将ASCII字符放入程序中取决于您的汇编程序,这可能是最简单的自行计算数值的方法。
至于实际的代码,循环标签l1
处于错误的位置,并且围绕它的一些代码是多余的。 您可以这样编写程序:
.data
arr db 50,51,52,53,54,55,56,57,48
.code
Main Proc
mov cx, 9
#wrong position l1:
lea si, arr
#redundant mov bl, arr[si]
l1:
mov dl, [si]
mov ah, 2 #not sure if this could be moved in front of the loop, check if syscall clobbers ah
int 21h
inc si
loop l1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.