AT&T汇编格式与Intel汇编格式的比较
来源:互联网 发布:mac转码工具 编辑:程序博客网 时间:2024/05/17 23:09
GCC采用的是AT&T的汇编格式, 也叫GAS格式(Gnu ASembler GNU汇编器), 而微软采用Intel的汇编格式.
一 基本语法
语法上主要有以下几个不同.
1、寄存器命名原则
2、源/目的操作数顺序
3、常数/立即数的格式
4、操作数长度标识
在AT&T的格式中, 每个操作都有一个字符后缀, 表明操作数的大小. 例如:mov指令有三种形式:
movb 传送字节
movw 传送字
movl 传送双字
因为在许多机器上, 32位数都称为长字(long word), 这是沿用以16位字为标准的时代的历史习惯造成的.
---------摘自《深入理解计算机系统》
5、寻址方式
两种寻址的实际结果都应该是
imm32 + basepointer + indexpointer*indexscale
AT&T的汇编格式中, 跳转指令有点特殊.
直接跳转, 即跳转目标是作为指令的一部分编码的.
例如: jmp Label_1
间接跳转, 即跳转目标是从寄存器或存储器位置中读出的. 写法是在" * "后面跟一个操作数指示符.
例如: jmp *%eax 用寄存器%eax中的值作为跳转目标
jmp *(%eax) 以%eax中的值作为读入的地址, 从存储器中读出跳转目标
--------摘自《深入理解计算机系统》
下面是一些寻址的例子:
0 0
- AT&T汇编格式与Intel汇编格式的比较
- AT&T汇编格式与Intel汇编格式的比较
- AT&T汇编格式与Intel汇编格式的比较
- AT&T汇编格式与Intel汇编格式的比较
- AT&T汇编格式与Intel汇编格式的比较
- AT&T与Intel格式的汇编语法
- AT&T汇编格式与Intel汇编格式区别(根据由尚德视频教程整理)
- AT&T 与Intel 汇编语法比较
- AT&T 与Intel 汇编语法比较
- AT&T与Intel汇编风格比较
- AT&T汇编格式
- AT&&T汇编格式
- AT&T汇编格式
- AT&T格式汇编
- AT&T汇编格式
- AT&T汇编格式
- AT&T与Intel汇编语法的比较
- AT&T与INTER汇编格式解析
- href=#与href=javascript:void(0)的差异
- 介绍docker
- Spring MVC传递URL到后台参数为空
- Unity3D角色换装实现原理及步骤
- 轻量级JavaEE企业应用实战(二)
- AT&T汇编格式与Intel汇编格式的比较
- [leetcode] 238. Product of Array Except Self
- Android缓存处理和清除数据、清除缓存、一键清理的区别
- STL sort()
- MySQL5.5 performance_schema的介绍
- Android处理日期
- iOS自带图片大小压缩
- 文章主题: 请教 oracle Instant Client 的配置
- Tomcat的JVM设置和连接数设置