我对汇编语言有点陌生,并且难以理解“字节等效”一词。

它用于以下上下文:-
MOV 指令有时会引起歧义。例如,查看以下语句:

MOV  EBX, [MY_TABLE]  ; Effective Address of MY_TABLE in EBX
MOV  [EBX], 110       ; MY_TABLE[0] = 110

不清楚是要移动数字 110 的字节等价物还是字等价物。在这种情况下,使用类型说明符是明智的。

教程链接是here

如果有人能解释“字节等效”一词并提供“类型说明符”可能派上用场的明确情况,那将是一个很大的帮助。

最佳答案

这只是意味着 110 的大小在 MOV [EBX], 110 指令中是不明确的。如果您打算存储 8 位(等效字节)值 0x6E 、16 位(等效字)值 0x006E 或 32 位(等效双字)值 0x0000006E ,则无法仅通过查看该指令来判断。

大小说明符将用于告诉汇编程序如何解释指令,此类说明符的确切语法取决于您使用的汇编程序。在 NASM 语法中,你会说 mov byte [ebx],110 来指定你想要存储一个字节。在 MASM/TASM 语法中,您会说 mov byte ptr [ebx],110

关于assembly - "byte equivalent"是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23884358/

10-11 15:39