您的位置:首页 > 其它

MASM,NASM和AT&T汇编格式备注

2011-04-10 18:09 447 查看
由于工作原因有时要在几种汇编格式之间切换,特记录一下几种汇编格式,以便自已能快速"恢复"记忆,这里只是描述一下基本的格式说明.

一.MASM

1. 基本格式为: [标号:] 指令助记符 [DST [,SRC]] [;注释]

2. 数据定义指令: DB 1 byte

DW 2 byte

DD 4 byte

DT 8 byte

DQ 10 byte

3.操作符PTR 指明要访问的存储器操作数类型, 格式为:类型 PTR 地址表达式

如 MOV WORD PTR [SL],1

类型可以是byte,word,dword,near,far

二.NASM

总体格式和MASM差不多,做了更好的简化,个人最喜欢.

1.不放[]括号来的标号和变量名被认为是地址, []起来表示其内容

2.符号$ 和$$

$ 表示当前行汇编后的偏移地址

$$ 表法当前section汇编后的偏移地址

一个惯用法就是$-$$ 表示当前行距离当前section的相对偏移

三.AT&T

在立即数前加$,在寄存器前加%

源操作数与目标操作数与MASM相反

备注: 微软c/c++编译器生成汇编代码参数 cl file.c -Fa

GCC 生成汇编代码参数 gcc -S file.c

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: