当前位置:编程学习 > 汇编语言 >>

linux汇编和windows汇编为什么不同

不是说汇编是与硬件沟通的语言,与OS的关系不大吗??为什么网上讲linux中的指令与win的是不一样的??
答案:汇编也是一种编程语言。汇编语言本质上都是类似的,但语法上大多存在差异。
所以其实存在很多不同版本的汇编语言,它们的语法与其开发者的定义有关系。
就像masm,这是微软定义的汇编语言。at&t汇编,这是GNU的开发者定义的汇编语言。
但又如:nasm,它同时在多个操作系统上存在编译器,也就是在不同系统上写nasm,语法都是一样的。
但是汇编语言仍然和操作系统和所在构架有关系。x86平台上自然不可以直接执行arm的指令。
又因为程序要和操作系统打交道的话,需要调用系统功能调用,这个和操作系统有关,例如:windows上是int 21h,linux下是int 80h,同构架下,基本除了系统功能调用,其他指令几乎没有差别。
其他:只能说,机器语言是和硬件沟通的语言。

使用 Intel 的 CPU,机器语言肯定是相同的。

汇编语言,要用一个编译软件,才能编译成机器语言。

编译软件,就要依赖 OS 了。

即使是在同一个 OS,不同软件公司编写的编译软件,它们所识别的汇编语言,也不完全一样。 

上一个:能否同时给8255的两个PC端口赋高位?MOV DX,PC_8255 MOV AL,03H OUT DX,AL是给PC1复位,接着怎么给PC2复位
下一个:瞄了个咪是什么意思

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,