【发布时间】:2017-04-11 20:02:10
【问题描述】:
我刚刚注意到一些有趣的事情,我正在努力获得更好的理解。 我尝试使用 Irvine WriteString 调用。
写字符串
编写一个以 null 结尾的字符串。
输入:DX 指向字符串的偏移量
INCLUDE Irvine32.inc
.data
fizz BYTE "Fizz", 0
...
MOV EDX, OFFSET fizz
CALL WriteString
CALL CrLf
而且效果很好,我可以在我的窗口中看到“Fizz”,就像在documentation 中一样。
但是,如果我尝试使用 DWORD 而不是 BYTE
fizz DWORD "Fizz", 0
我将在提示窗口中看到“zziF”。 据我所知,唯一的区别在于 BYTE 和 DWORD 之间的大小,以位为单位(8 位与 32 位)。 我真的不明白相反的顺序。发生了什么事?
感谢每一个回答!
【问题讨论】:
标签: assembly byte irvine32 dword