AT&T格式汇编
来源:互联网 发布:微信微场景制作软件 编辑:程序博客网 时间:2024/05/17 03:51
阅读linux内核源代码时,底层的汇编语言格式使用的是AT&T。AT&T汇编语言格式和我们熟悉的intel的汇编很类似,但是也有很大的不同地方。现将常用的AT&T格式的语法列出如下。
1:寄存器应用
寄存器前加%,如mov %eax, %ebx
2:操作数顺序
操作数的排列从左到右为源到目的,如如mov %eax(源),%ebx(目的)
3:常数/立即数的格式
立即数前加$,如mov$4, %ebx (把立即数4复制到ebx寄存器中)
符号常数直接应用,如mov vaule, %ebx
应用符号地址在符号前加$,如mov $value, %ebx
4:操作数的长度
在指令后的符号表示
b(byte), w(word), l(long), 如movw %ax, %bx
5:绝对转移和调用指令(jmp/call)操作数前加上*,作为前缀
6:远程转移和调用指令为ljmp,lcall.(intel汇编则为jmp far, call far)
ljmp $section, $offset
lcall $section, $offset
7.远程返回指令
iret $stack_adjust
8:寻址方式
section:disp(base, index, scale)-------base+index*scale+disp
而intel格式为section:[base + index*scale +disp]
AT&T格式 intel格式
movl -4(%ebp), %eax mov eax, [ebp-4]
movl arry(, %eax, 4), %eax mov eax, [arry+eax*4]
movb $4, %fs:(%eax) mov fs:eax, 4
9:c语言中嵌入汇编的格式
_asm_("asm statement": outputs :inputs : registers-modified);
- AT&T汇编格式
- AT&&T汇编格式
- AT&T汇编格式
- AT&T格式汇编
- AT&T汇编格式
- AT&T汇编格式
- AT&T 汇编语法格式
- AT&T汇编语法格式
- AT&T汇编格式介绍
- AT&T汇编语法格式
- at&T 汇编语法格式
- AT&T汇编格式
- AT&T汇编语法格式
- AT&T格式汇编学习
- AT&T汇编格式及嵌入式汇编
- AT&T 格式Linux 汇编语法格式
- AT&T格式的arm汇编
- AT&T格式汇编命令集合
- 一个简单的ajax与后台交互的例子
- js: 项目中用到的一个formvalidator的js方法()
- 如何设置文本输入框中字体的颜色?
- js:splice()方法(从一个数组中移除一个或多个元素)
- css:设置文本不自动换行
- AT&T格式汇编
- php:php:call_user_func()--调用用户定义的回调函数
- js:在<script></script>中使用的属性,可以使标签对里的内容当成文本
- js:js正则一些实例方法(数字调换位置、ip地址合法性检查、url地址提取信息)
- 原生js的cookie的使用实例setCookie()、getCookie()方法
- js:屏蔽用户鼠标右键
- js:原生方法:定位同级对象的下一…
- jq:动态加载js文件进当前页面
- css:在样式名之前加一个“*”的作用