常见汇编指令

本文介绍了AT&T语法下的汇编指令,包括寄存器命名如%rax、%rdx,以及如何进行操作数顺序的mov指令,赋值操作如movq$3,%rax,内存赋值movq$0xa,0x1ff7(%rip),还有jmp和call指令的使用,以及不同字节长度的操作如movl,movb等。
摘要由CSDN通过智能技术生成

转载用于收藏学习,原文地址 http://t.csdn.cn/AiyKN

项目AT&T(苹果模拟器)intel说明
寄存器命名%raxrax
操作数顺序movq %rax, %rdxmov rdx, rax将rax 的值赋值给rdx
常数\立即数movq $3, %rax movq $0x10, %raxmov rax, 3mov rax, 0x10将3赋值给rax将0x10赋值给rax
内存赋值movq $0xa, 0x1ff7(%rip)mov qword ptr [rip+0x1ff7], 0xa将0xa赋值给地址为rip +0x1ff7的内存空间
取内存地址leaq -0x18(%rbp), %raxlea rax, [rbp – 0x18]将rbp – 0x18这个地址值赋值给rax
jmp指令jmp *%rdx jmp 0x4001002 jmp *(%rax)jmp rdx jmp 0x4001002 jmp [rax]call和jmp写法类似
操作数长度movl %eax, %edx movb $0x10, %al leaw 0x10(%dx), %amov edx, eax mov al,0x10 lea ax, [dx + 0x10]b = byte (8-bit) s = short (16-bit integer or 32-bit floating point) w = word (16-bit) l = long (32-bit integer or 64-bit floating point) q = quad (64 bit) t = ten bytes (80-bit floating point)

————————————————
版权声明:本文为CSDN博主「~废弃回忆 �༄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/eastWind1101/article/details/122507926

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值