Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要用汇编语言反向打印一个字符串数组。以下是我的代码。
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的确切含义是什么?不是数组位置的索引吗?
si 表示源索引寄存器。它可以用作指针。它是偏移寄存器语法将是:
SI 源索引:一般寻址,字符串操作中的源偏移量
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. 它会重置数组索引。
mov si,offset Ar