我遇到一个简单的问题,就是将一个char从寄存器al复制到一个名为ErrorChars的变量...
我是否必须将目的地取消引用为[ErrorChars]?这是扫描缓冲区,在缓冲区中查找错误字符并将它们放在字符串中的合适解决方案,以便我可以将它们打印为一个项目吗?
SECTION .data ; Section containing initialized data
ErrorChars: db "", 10
ErrorCharsLen: equ $-ErrorChars
; ...
mov al, byte [ebp+ecx] ; copy current byte of Buffer into al
mov byte ErrorChars, [al] ; copy byte at al into ErrorChars
答案 0 :(得分:4)
mov byte ErrorChars, [al] ; copy byte at al into ErrorChars
ErrorChars是你的内存操作数,而不是al。所以是的,它应该在括号中,而不是al。
mov [ErrorChars], al ; copy byte in al into ErrorChars