reactos中涉及的GNU gas 汇编 ((雄)blog.csdn.net/mickey139)
reactos吧
全部回复
仅看楼主
level 6
fros 楼主
2009年04月09日 05点04分 1
level 6
fros 楼主
下面就ReactOS中相关的gas汇编intel语法格式做一个总结
内存有效地址
intel格式
section:[base+index*scale+displacement]
section:段前缀
base:基址寄存器
index:变址寄存器
scale:可以取值1,2,4,8。如果不指定scale 值,则默认值为1
displacement:偏移量
宏定义
gas中的宏定义和c语言中的宏定义相同如(可能又叫符号常量吧):
#define KPCR_IRQL 0x24
#define PCR ds:[0xFFDFF000]
mov ecx, PCR[KPCR_IRQL] // 这种表达有点类似结构变量的访问
// 经过宏代换后
mov ecx, ds:[0xFFDFF000+0x24]
变量定义
汇编语言中可以给存储单元取符号名,也可以不取符号名。当给存储单元取符号名时,则可通过该符号名来访问其对应的存储单元;当不给存储单元取符号名时,则可通过存储单元的偏移量(有效地址)来访问它。
[变量名:]  数据类型符  表达式1[, 表达式2, …, 表达式n]  //注释
如:
PICInitTable: .short 0x20
 .byte 0x11
第一个可以用地址来访问,后面的一个可以用PICInitTable+2访问
2009年04月09日 05点04分 3
level 6
fros 楼主
剩下的内容估计百度不让发。
直接转载原文地址:
http://www.cnblogs.com/binsys/articles/1303927.html
2009年04月09日 05点04分 4
1