我是靠谱客的博主 犹豫期待,这篇文章主要介绍04 指令及其表示大纲,现在分享给大家,希望可以做个参考。

大纲

  1. 汇编与c之间的数据类型
  2. 常见的汇编语法(AT&T)

汇编语言的数据格式 字 2byts

c声明Intel数据类型汇编代码后缀大小(字节x86-32)
char字节b1
shortw2
int双字l4
unsigned双字l4
char *双子l4
long int双字l4
double双精度l8
long long int--
float单精度s4
long double扩展精度t10/12
c声明Intel数据类型汇编代码后缀大小(字节x86-64)
char字节b1
shortw2
int4字q4
unsigned4字q4
char *双子l8
long int双字l8
double双精度l8
long long int-4
float单精度q4
long double扩展精度t16

常见的汇编语法(AT&T)

mov: source地址会访存

movl Source,Dest; 不可以 movl (%eax),(%ebx); 部可以两个操作数都是内存地址

复制代码
1
2
3
4
5
6
7
movl $0x4,%eax; movl $-147,(%eax) ==> *p = -147;

movsl 带符号为扩展

movzl 零扩展

cmovl 条件转移指令 gcc -march=i686 gcc 3.4.4

复制代码
1
2
3
4
cmovl Src, Dec; 如果上一个条件满足,则将src传入dec,不满足则dec传入src

地址计算指令

复制代码
1
2
3
leal Src,Dest 进行的地址计算 传递地址

栈操作指令

复制代码
1
2
3
4
5
pushl %ebp 将old%ebp入栈,然后movl -4(%esp),%esp pop %eax 将%esp所指向的值放入%eax中 ,然后movl 4(%esp),%esp

算术操作指令

双操作数

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
### addl Src,Dest ### subl Src,Dest Dest = Dest - Src ### imull Src,Dest ### sall Src,Dest 左移 ### sarl Src,Dest 算术右移 --补符号位 ### shrl Src,Dest 逻辑右移 ---补零号 ### xorl Src,Dest 异或 ### andl Src,Dest 与 ### orl Src,Dest 或

单操作数

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
incl dest 自加 decl dest 自减 negl dest 负号 notl dest 取反
  • CF carry clag 进位
    • 用于检测无符号整数运算溢出
  • ZF zero flag 等于零
  • SF sign flag 符号位
  • OF overflow flag 溢出位
    • 补码运算的溢出(带符号整数运算)

跳转指令

JXConditionDEscription大小(字节x86-64)
jmp1
jeZF
jne~ZF
jsSF
jns~SF
jg(SF^OF)&ZF
jge~(SF^OF)
jl(SF^OF)
jleSF^OF) | ZF
ja~CF&ZF
jbCF
复制代码
1
2
3
set:读取条件码,并存入** 字节寄存器 **
SetXConditionDescription
-seteZF
-setne~ZF
-setsSF
-setns~SF
-setbCFAbove(Unsigned)
-seta~CF&ZFBelow(Unsigned)
-setl(SF^OF)signed
-setg(SF^OF)&ZFsign
-setge~(SF^OF)sign
-setleSF^OF) | ZFsign
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
trick:其实只需要记住常用的几条就行了 如 cmpl a,b; jg L0; 就是当b-a >0时 跳 L0 cmpl a,b; jl L0; 当 b-a <= 0时 跳转 L0 cmpl a,b; jz L0 当 b-a = 0 时 跳转L0

如果有需要可以参考
https://www.cnblogs.com/jokerjason/p/9578646.html

最后

以上就是犹豫期待最近收集整理的关于04 指令及其表示大纲的全部内容,更多相关04内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部