4、汇编基础:寄存器与简单算术运算

汇编基础:寄存器与简单算术运算

1. 汇编程序基本指令回顾

在之前的学习中,我们接触到了一些基本的汇编指令,如 movq syscall 。以退出程序的示例代码为例:

movq $60, %rax
movq $3, %rdi
syscall
  • movq 指令用于在64位数据块(8字节)间移动数据。它有两个操作数,第一个是“源”,第二个是“目标”,用逗号分隔。例如 movq $3, %rdi ,可以理解为“将数字3移动到%rdi寄存器”。
  • syscall 指令用于执行系统调用,它会让Linux内核接管,执行特定的系统任务。在上述代码中, %rax 存储系统调用号(60表示退出系统调用), %rdi 存储程序的退出状态码。
2. 指令操作数与执行顺序
  • 操作数类型 movq 指令的源操作数可以是寄存器、内存地址或具体数字。使用 $ 符号表示使用的是一个具体数字。目标操作数通常是寄存器。
  • 执行顺序 :程序中的指令按顺序依次执行,从 _start 标记的位置开始。现代处理器可能会进行指令重排或同时执行多条指令,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值