首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否可以使用"mov eax,0x1"而不是"mov rax,0x1"?

当前问答内容不符合相关政策法规,无法提供答案,请修改问题后重试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSAPP-Bomb-Lab

disassemble strings_not_equal查看该函数汇编,可以发现该函数是用来比较用户输入的字符串和esi中的值是否相等,若相等则过关,不相等就会引爆炸弹 分析到这里,第一关的答案就很明显了...再看我们前面对于Phase_2 的分析,可以发现,rbx里的值是rsp+0x4处的值,也就是说rbx里的值为我们输入的第二个值,那么rbx-0x4存的就是我们输入的第一个值。...此处为什么并不是直接到0x402470呢? 因为在汇编语言中,中括号[]表示的是取括号里地址的值!...那么我们使用gdb的命令x/16x 0x402470来查看0x402470地址里的值,可以发现这个存的地址即为Phase_3 处的地址,可以发现这个位置将0xcf这个值给了eax,然后跳转到程序结束的位置...,可以看见,输出了六个节点,根据我对代码的注释,可以发现,只能输入六个值,也就是说,链表只能有六个节点。

1.9K20

《深入理解计算机系统》(CSAPP)实验四 —— Attack Lab

CTARGET和RTARGET都采用几个不同的命令行参数: -h:打印可能的命令行参数列表 -q:本地测评,不要将结果发送到评分服务器 -i FILE:提供来自文件的输入,不是来自标准输入的输入...00 00 mov $0x1,%edi 40182e: b8 00 00 00 00 mov $0x0,%eax 401833: e8 b8 f5 ff...$0x1,%edi 40194a: b8 00 00 00 00 mov $0x0,%eax 40194f: e8 9c f4 ff ff callq...使用现有代码,不是注入新代码。常用的是ROP策略, ROP的策略是识别现有程序中的字节序列,由一个或多个指令后跟指令ret组成。这种段称为gadget.。...对应Write up里面的encoding table会发现,从%rax并不能直接mov到%rsi,只能通过%eax->%edx->%ecx->%esi来完成这个。

1.1K30

go语言调度器源代码情景分析之五:汇编指令

有2个操作数的指令中,第一个操作数是源操作数,第二个是目的操作数,刚才也讨论过,不过那条指令中的源和目的不是那么清晰,来看一个直白的,mov %eax,%esi,这条指令表示把eax寄存器中的值拷贝给...立即操作数需要加上$符号做前缀,如 "mov $0x1 %rdi" 这条指令中第一个操作数不是寄存器,也不是内存地址,而是直接写在指令中的一个常数,这种操作数叫做立即操作数。...这条指令表示把数值0x1放入rdi寄存器中。 4. 寄存器间接寻址的格式为 offset(%register),如果offset为0,则可以略去偏移不写直接写成(%register)。...执行mov %rax, %rsp这条指令之前,rsp寄存器的值是x,rax寄存器的值是y,执行指令之后,rax寄存器的值被复制给了rsp寄存器,所以rsp寄存器的值变成了y,可以看出,采用直接寻址方式时...rax = rax + rdx addl $0x1,-0x8(%rbp) # 源操作数是立即操作数,目的操作数间接寻址。

1.1K21

go语言调度器源代码情景分析之七:函数调用过程

20>:mov $0x1,%edi #sum函数的第1个参数放入edi寄存器 前两条指令负责把main函数得到的两个参数保存在main函数的栈帧里面,可以看到,这里使用了rbp加偏移量的方式来访问栈内存...这里还有个细节,传递给sum的两个参数都是用的edi和esi不是rdi和rsi,原因在于C语言中int是32位的,rdi和rsi都是64位的,edi和esi可以分别当成rdi和rsi的一部分来使用。...可以看到,sum的函数序言并未像main函数一样通过调整rsp寄存器的值来给sum函数预留用于局部变量和临时变量的栈空间,那这是不是说明sum函数就没有使用栈来保存局部变量呢,其实不是,从后面的分析可以看到...leaveq指令上面的一条指令mov $0x0, %eax的作用在于把main函数的返回值0放在eax寄存器中,等main返回后调用main函数的函数可以拿到这个返回值。...编译器则使用rsp寄存器加偏移量的方式来访问它们; ret指令负责把call指令入栈的返回地址出栈给rip,从而实现从被调用函数返回到调用函数继续执行; gcc使用rax寄存器返回函数调用的返回值,go

1.3K30
领券