Assembly 如何在x86汇编语言中增加字符串中字符的指针?
我试图使用一个名为“character”的指针打印字符串“Golf”,指针指向该字符串中的每个字符。当我运行代码时,我得到的唯一结果是打印出字母G四次,我需要程序每次运行时递增字符,直到完成单词。如何取消引用,然后增加指针,以便正确打印每个字符 我没有太多的指针经验,所以任何反馈或批评都非常感谢 下面是代码:Assembly 如何在x86汇编语言中增加字符串中字符的指针?,assembly,x86,Assembly,X86,我试图使用一个名为“character”的指针打印字符串“Golf”,指针指向该字符串中的每个字符。当我运行代码时,我得到的唯一结果是打印出字母G四次,我需要程序每次运行时递增字符,直到完成单词。如何取消引用,然后增加指针,以便正确打印每个字符 我没有太多的指针经验,所以任何反馈或批评都非常感谢 下面是代码: INCLUDE Irvine32.inc .data wor BYTE "Golf", 0 character BYTE PTR [wor]
INCLUDE Irvine32.inc
.data
wor BYTE "Golf", 0
character BYTE PTR [wor]
; global variables
.code
main PROC
mov ecx, 4
again:
mov al, wor
call WriteChar
inc character
loop again
call Crlf
call WaitMsg
exit
main ENDP
END main
这是什么汇编程序?您需要增加一个寄存器,用作偏移量,如
[wor+esi]
。在字符
标签处递增内存中的字节完全独立于程序正在执行的任何其他操作。