Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 汇编中MOV指令的有效性_Assembly_X86_Nasm_Masm_Mov - Fatal编程技术网

Assembly 汇编中MOV指令的有效性

Assembly 汇编中MOV指令的有效性,assembly,x86,nasm,masm,mov,Assembly,X86,Nasm,Masm,Mov,这是有效的汇编指令吗 MOV-CX,0F9 我的意思是,正如我们看到的,其中有“0F9”,虽然源操作数看起来像“十六进制”,但在指令末尾(或源操作数末尾)没有使用“H”符号。是。它确实是一种有效的intel x86语法,将0xF9移动到CX寄存器。按照惯例,我们假设任何立即值都是十六进制表示。F9前面有0的原因是为了确保汇编器将该值视为立即值(十六进制),而不是标签。它不是用来区分它的base-n表示的。你怎么能确定它的值是十六进制?以0开头的文字值通常表示octalNot在Nasm中无效0x0

这是有效的汇编指令吗

MOV-CX,0F9


我的意思是,正如我们看到的,其中有“0F9”,虽然源操作数看起来像“十六进制”,但在指令末尾(或源操作数末尾)没有使用“H”符号。

是。它确实是一种有效的intel x86语法,将0xF9移动到CX寄存器。按照惯例,我们假设任何立即值都是十六进制表示。F9前面有0的原因是为了确保汇编器将该值视为立即值(十六进制),而不是标签。它不是用来区分它的base-n表示的。

你怎么能确定它的值是十六进制?以0开头的文字值通常表示octalNot在Nasm中无效
0x0F9
0F9h
$0F9
都表示十六进制。@Frank Kotler因为它不是您编写的三个示例之一,Nasm会注意到它是无效指令?对。Nasm会说
表达式语法错误
。不要害怕尝试这些东西!