是什么决定了x86汇编语言的语法?

时间:2016-02-15 20:38:53

标签: assembly x86

这是硬件,逻辑门确定还是软件确定?具体是什么语法得到确定以及如何确定?

例如

mov ax,1234h

你如何在这里实现语法? 所以,如果我希望它看起来像

Mov [ax] 1234h

如何让它对计算机可读?换句话说,这是可以通过软件改变还是物理决定的东西?

1 个答案:

答案 0 :(得分:3)

由汇编程序确定,即软件

对于x86,存在两种传统语法:AT& T和Intel语法。虽然前者在GNU中用作GNU工具链和通常使用它构建的程序,但英特尔语法是英特尔手册中描述的语法,并在英特尔的产品中使用。 这些语法由汇编程序确定,汇编程序将指令转换为机器代码。从理论上讲,我可以发明一种新语法,为它编写汇编程序(或改变现有语法的语法),然后使用它。

硬件不了解汇编语法。它只能处理指令所代表的位和字节。例如,nop对应0x90 = 0b10010000。你可以使用这些二进制代码编写像Counterstrike这样的整个程序,因此实际上不需要汇编程序。