intel格式(win)和AT&T格式(Linux)的主要区别

本文探讨了Intel和AT&T两种汇编格式在Windows(Intel格式)和Linux(T&T格式)环境下的区别,涉及立即数操作、寄存器和内存访问、操作数长度定义以及具体指令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

intel格式(win)和AT&T格式(Linux)的区别

汇编 组成原理

  1. 立即数

    T&T 格式Intel 格式
    $11
  2. 访问寄存器中的数据

    T&T 格式Intel 格式
    %axax
    R[ax]和左边一样
  3. 访问内存中的数据

    T&T 格式Intel 格式
    -4(%ax,%bx,3)[-4+ax+bx*3]
    M[ -4 + R[ax] + R[bx]*3 ]和左边一样
  4. 方向

    T&T 格式Intel 格式
    movb $1, %eaxmov eax, 1

    把立即数1放入 寄存器eax中
  5. 操作数的字长由操作符的最后一个字母决定

    T&T 格式Intel 格式
    movb $1, %eaxmov eax, 1
    人工定义自动判断

    'b’表示byte,8 比特
    'w’表示word,16 比特
    'l’表示long,32比特


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值