1,操作数的长度
如果没有指定操作数长度的话,编译器将按照目标操作数的长度来设置。比如指令 “mov %ax, %bx”,由于目标操作数 bx 的长度为 word,那么编译器将把此指令等同于“ movw %ax, %bx”。同样道理,指令“mov $4, %ebx”等同于指令“movl $4, %ebx”,“push%al” 等同于“pushb %al”。对于没有指定操作数长度,但编译器又无法猜测的指令,编译器将会报错,比如指令“push $4“
2. 立即数
3.寄存器引用
4. 操作数顺序
5, 符号常数
6. 内存引用
而在 AT&T 语法中对应的形式为:section:displacement(base,index,scale)
原文地址:http://blog.csdn.net/trochiluses/article/details/34862135