繁体   English   中英

打印包含8086程序集中的数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM