linux汇编和windows汇编为什么不同
不是说汇编是与硬件沟通的语言,与OS的关系不大吗??为什么网上讲linux中的指令与win的是不一样的??...
不是说汇编是与硬件沟通的语言,与OS的关系不大吗??为什么网上讲linux中的指令与win的是不一样的??
展开
2个回答
展开全部
汇编也是一种编程语言。汇编语言本质上都是类似的,但语法上大多存在差异。
所以其实存在很多不同版本的汇编语言,它们的语法与其开发者的定义有关系。
就像masm,这是微软定义的汇编语言。at&t汇编,这是GNU的开发者定义的汇编语言。
但又如:nasm,它同时在多个操作系统上存在编译器,也就是在不同系统上写nasm,语法都是一样的。
但是汇编语言仍然和操作系统和所在构架有关系。x86平台上自然不可以直接执行arm的指令。
又因为程序要和操作系统打交道的话,需要调用系统功能调用,这个和操作系统有关,例如:windows上是int 21h,linux下是int 80h,同构架下,基本除了系统功能调用,其他指令几乎没有差别。
所以其实存在很多不同版本的汇编语言,它们的语法与其开发者的定义有关系。
就像masm,这是微软定义的汇编语言。at&t汇编,这是GNU的开发者定义的汇编语言。
但又如:nasm,它同时在多个操作系统上存在编译器,也就是在不同系统上写nasm,语法都是一样的。
但是汇编语言仍然和操作系统和所在构架有关系。x86平台上自然不可以直接执行arm的指令。
又因为程序要和操作系统打交道的话,需要调用系统功能调用,这个和操作系统有关,例如:windows上是int 21h,linux下是int 80h,同构架下,基本除了系统功能调用,其他指令几乎没有差别。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询