Assembly 缩短两条ASM指令

Assembly 缩短两条ASM指令,assembly,nasm,Assembly,Nasm,我试图缩短这些说明: add eax,byte +0xc jmp eax 此说明与上述说明相同吗 jmp dword [eax+0xc] 否。第一个将0x0c添加到EAX中,然后跳转到地址与EAX匹配的内存中。注意,这应该简单地写成addeax,0X0C 第二个跳转到与在位置EAX+0x0c否处找到的内容匹配的地址。第一个跳转将0x0c添加到EAX中,然后跳转到地址匹配EAX的内存中。注意,这应该简单地写成addeax,0X0C 第二个跳转到与在位置EAX+0x0c否处找到的内容匹配的地址

我试图缩短这些说明:

add eax,byte +0xc
jmp eax
此说明与上述说明相同吗

 jmp dword [eax+0xc]

否。第一个将
0x0c
添加到
EAX
中,然后跳转到地址与
EAX
匹配的内存中。注意,这应该简单地写成
addeax,0X0C


第二个跳转到与在位置
EAX+0x0c
否处找到的内容匹配的地址。第一个跳转将
0x0c
添加到
EAX
中,然后跳转到地址匹配
EAX
的内存中。注意,这应该简单地写成
addeax,0X0C


第二个跳转到与在位置
EAX+0x0c
否处找到的内容匹配的地址。第一个跳转将
0x0c
添加到
EAX
中,然后跳转到地址匹配
EAX
的内存中。注意,这应该简单地写成
addeax,0X0C


第二个跳转到与在位置
EAX+0x0c
否处找到的内容匹配的地址。第一个跳转将
0x0c
添加到
EAX
中,然后跳转到地址匹配
EAX
的内存中。注意,这应该简单地写成
addeax,0X0C



第二个跳转到与在位置
EAX+0x0c

处找到的内容匹配的地址。汇编程序如何执行操作EAX+0xc?它是否插入了必要的说明?啊,好吧,这有点写错了。它应该是一个
addeax,0X0C
@lower:JMP指令的操作数可以是立即数、通用寄存器或内存位置。由于这种语法不符合这三种描述中的任何一种,我假设NASM生成额外的机器指令来执行必要的数学运算。看,上面说“NASM能够在这些有效地址上做代数运算,所以看起来不一定合法的事情是完全正确的。”@RobertHarvey
jmp
可以在内存地址中添加很好的内容,这是常规内存地址的一部分thing@RobertHarvey不,我真的不是。检查ModRM/SIB编码。汇编程序如何执行eax+0xc操作?它是否插入了必要的说明?啊,好吧,这有点写错了。它应该是一个
addeax,0X0C
@lower:JMP指令的操作数可以是立即数、通用寄存器或内存位置。由于这种语法不符合这三种描述中的任何一种,我假设NASM生成额外的机器指令来执行必要的数学运算。看,上面说“NASM能够在这些有效地址上做代数运算,所以看起来不一定合法的事情是完全正确的。”@RobertHarvey
jmp
可以在内存地址中添加很好的内容,这是常规内存地址的一部分thing@RobertHarvey不,我真的不是。检查ModRM/SIB编码。汇编程序如何执行eax+0xc操作?它是否插入了必要的说明?啊,好吧,这有点写错了。它应该是一个
addeax,0X0C
@lower:JMP指令的操作数可以是立即数、通用寄存器或内存位置。由于这种语法不符合这三种描述中的任何一种,我假设NASM生成额外的机器指令来执行必要的数学运算。看,上面说“NASM能够在这些有效地址上做代数运算,所以看起来不一定合法的事情是完全正确的。”@RobertHarvey
jmp
可以在内存地址中添加很好的内容,这是常规内存地址的一部分thing@RobertHarvey不,我真的不是。检查ModRM/SIB编码。汇编程序如何执行eax+0xc操作?它是否插入了必要的说明?啊,好吧,这有点写错了。它应该是一个
addeax,0X0C
@lower:JMP指令的操作数可以是立即数、通用寄存器或内存位置。由于这种语法不符合这三种描述中的任何一种,我假设NASM生成额外的机器指令来执行必要的数学运算。看,上面说“NASM能够在这些有效地址上做代数运算,所以看起来不一定合法的事情是完全正确的。”@RobertHarvey
jmp
可以在内存地址中添加很好的内容,这是常规内存地址的一部分thing@RobertHarvey不,我真的不是。检查ModRM/SIB编码。