汇编器与指令集,不同的CPU对应不同的指令集;不同的汇编器对应不同的语法和伪指令集。
每种汇编器都可以有自己的伪指令集和自己的语法,但实际上,由于事实标准的原因,(所有的CPU厂商会提供指令使用手册,手册中的指令书写样式,实际上就 是事实汇编语法,何况CPU厂商肯定会提供自己的汇编器的),现代大多数的汇编器都会在主流的汇编语法Intel型和AT&T型这两类语法中选择 一种作为自己的语法(Intel型可能会越来越流行)。
ARM官方提供的汇编器/指令手册中使用的是Intel型语法,GNU的汇编器gas使用的是AT&T型语法。
然而,gas for arm版的开发者,为了避免混乱,实现了完全和ARM官方汇编语法是一致的语法。也就是说,当你使用ARM指令集的指令时,按ARM官方手册的语法书写,用gas for arm编译完全没有问题。主要要注意的是伪指令集。
每种汇编器都可以有自己的伪指令集和自己的语法,但实际上,由于事实标准的原因,(所有的CPU厂商会提供指令使用手册,手册中的指令书写样式,实际上就 是事实汇编语法,何况CPU厂商肯定会提供自己的汇编器的),现代大多数的汇编器都会在主流的汇编语法Intel型和AT&T型这两类语法中选择 一种作为自己的语法(Intel型可能会越来越流行)。
ARM官方提供的汇编器/指令手册中使用的是Intel型语法,GNU的汇编器gas使用的是AT&T型语法。
然而,gas for arm版的开发者,为了避免混乱,实现了完全和ARM官方汇编语法是一致的语法。也就是说,当你使用ARM指令集的指令时,按ARM官方手册的语法书写,用gas for arm编译完全没有问题。主要要注意的是伪指令集。