我需要用汇编语言反转打印字符串数组。以下是我的代码。
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的确切含义是什么?它不是数组位置的索引吗?
答案 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源索引:字符串操作中的常规寻址,源偏移