att格式汇编指令_(第一章)att汇编语法格式

att汇编语法格式:

操作数顺序

指令 源 目标

寄存器引用要在寄存器号前加% 例如:

mov %eax,%ebx

立即数前加$,例如:

mov $4,%ebx

变量前加$则表示该变量数值对应的地址

操作数长度,参数放在指令后面

b=byte(8bit) w=word(16bit) l=long(32bit) 例如movb

绝对转移和调用指令钱要加*

远转移和调用为ljmp/lcall

寻址方式:

disp(base,index,scale)=

base +index*scale+disp

C语言中的嵌入汇编:

_asm_(_有么有都可以)("asm statements" :=outputs:inputs:registers-modified); ""中的内容可以有多行,之间用;分开。

outputs为输出寄存器输出到的变量

inputs为输入寄存器,将变量输入到该寄存器

register-modified:要改变的寄存器

如果要用%则需要加2个%%,例如:

例如movw %1,%%eax;

%1则表示outputs:inputs:registers-modified中的第二个参数

"=a(b1)";"b"(a1);"%eax"则表示输出寄存器eax中的值赋给b1,输入则是把a1中的值赋给ebx 改变的是eax中的值

"a","b","c","d"分别表示eax ebx ecx edx

"S" "D"表示esi,edi "r"任何寄存器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值