百科问答小站 logo
百科问答小站 font logo



不同x86体系结构下的汇编语言是可以移植的吗? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

书上讲的一般是x86的基础指令集,如果是16位的,就是8086,如果是32位的,就是80386,基础指令集没有什么变化,不存在兼容性的问题。

但是到了具体的软件或者硬件,对指令集是有要求的。比如多媒体指令,向量指令等。

题主说到286和386,这两种CPU的指令集就是有区别的,286上没有内存分页的概念,只分段,不分页,所以页表相关的操作就是无效的。所以80286上写操作系统很麻烦。

所以不同的时代的CPU,指令集是有差异的。Intel手册上对扩展指令的描述:

MMX:

The Intel MMX technology was introduced into the IA-32 architecture in the Pentium II processor family and Pentium processor with MMX technology.

SSE2:

The streaming SIMD extensions 2 (SSE2) were introduced into the IA-32 architecture in the Pentium 4 and Intel Xeon processors.

操作系统对于指令集非常敏感,但教材一般不会讲的这么深入,所以教材里学的那些,基本上没什么变化,也不会跟着技术发展更新。x86指令集的一个重要的优点就是兼容性好,所以旧的指令在新的CPU上通常都可以正确运行,但反过来不行。

Intel的指令手册是一个超过2000页的PDF,教科书上一般只介绍最最基本的部分,绝大多数指令都是不会讲的。




  

相关话题

  计算机系本科生有必要学习汇编语言吗? 
  有没有比图灵机能力更强的计算模型? 
  电子(EE)专业犹豫要不要研究生转计算机专业(CS)? 
  一般编程的时候,使用汇编能比使用高级语言(比如C,C++,java等)有更高的运行效率吗?高能高出多少呢? 
  量子计算机的出现会给实际生活带来怎样的改变? 
  C 语言是否需要改进,甚至重新设计一门语言取代 C 语言? 
  10年前的顶级电脑性能仍然能赶上现在的主流电脑,是PC行业的骄傲还是PC行业的悲哀? 
  ECC内存和普通内存差别有多大? 
  为什么不能计算两次哈希,以及在什么情况下不能计算两次哈希? 
  在理想状态下,CPU需不需要工作在一个时钟下? 

前一个讨论
嵌入式设备使用NandFlash作为存储,那么不使用文件系统是否可行?
下一个讨论
为什么一个36字节的文本文档占用空间0字节?





© 2024-11-05 - tinynew.org. All Rights Reserved.
© 2024-11-05 - tinynew.org. 保留所有权利