AT&T 汇编和intel汇编的区别

           1.AT&T(以下简称AT)中立即操作数前加‘$’;寄存器操作数名前加'%';绝对跳转/调用操作数前加‘*’。Intel语法前没有这些限制。

           2.AT与intel语法使用的源目的数和操作数次序恰好相反,AT从左到右‘源,目的’,例如intel语句‘add eax,4',AT&T 'addl $4,%eax'。

           3.AT语法中内存操作数的长度由操作码最后一个字符确定,操作码后缀’b w l'分别表示8位(byte),16位(word),32位长字(long)。intel 通过在内存操作数前使用前缀’byte ptr','word ptr','dword ptr'来表示。

           4.AT语法中立即形式的远跳转和远调用位‘ljmp/lcall  $section,$offset',而Intel 的是’jmp/call  far section:offset'。同样,AT语法中远返回指令‘lret $stack-adjust',对应Intel的’ret far stack-adjust‘。

           5.AT汇编器不提供对多代码段程序的支持,UNIX类操作系统要求所有代码在一个段中。

转载于:https://www.cnblogs.com/marvin007/archive/2012/12/16/2820612.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值