我想知道在使用操作数进行寻址模式时汇编代码之间的区别。例 mov ax,25 //其中25被视为常数 mov ax,[1000] // [1000]被视为记忆位置
我的问题是,常量和内存位置之间的区别是因为方括号[1000]还是还有别的东西。并且mov(操作码)是cpu指令集的一部分吗? 将会感激一些答案。谢谢!
答案 0 :(得分:1)
根据您的汇编程序,您必须使用适当的语法,以便区分常量和内存位置。一些汇编程序使用您显示的语法,一些汇编程序需要$
前缀用于immediates,一些汇编程序使用ptr
等。请参阅汇编程序的文档。
mov
是一个助记符,它根据操作数具有不同的机器代码表示。例如,您使用的mov ax, 25
实际上mov r16, imm16
具有操作码B8
。 mov ax, [1000]
可以是mov ax, moffs16
,具有操作码A1
。请参阅指令集参考。