在汇编编程中反转打印数组

时间:2013-07-05 16:16:39

标签: arrays assembly reverse

我需要用汇编语言反转打印字符串数组。以下是我的代码。

proc reverseAr
    mov cl,count
    mov si,offset Ar
    mov si,3
    write2:

        mov dl,Ar[si]
        mov ah,02h
        int 21h
        dec si
    loop write2
ret
endp

但这并没有给出答案。有谁能告诉我si的确切含义是什么?它不是数组位置的索引吗?

2 个答案:

答案 0 :(得分:1)

proc reverseArray
    mov cl,count
    dec cl
    dec si
    printRevArr:
        mov dl,arr[si]
        add dl,48
        mov ah,02h
        int 21h

        dec si

    loop printRevArr

    ret
endp

不要使用mov si,offset Ar。它会重置数组索引。

答案 1 :(得分:1)

si表示源索引寄存器。 它可以用作指针。 它是胶印寄存器 语法将是:

SI源索引:字符串操作中的常规寻址,源偏移