社区
汇编语言
帖子详情
不同的CPU有不同的指令格式,但是它们怎么能跑同一个程序呢?
Cricketol
2009-04-26 10:39:18
难道操作系统和CPU之间还有一层翻译?
...全文
303
14
打赏
收藏
不同的CPU有不同的指令格式,但是它们怎么能跑同一个程序呢?
难道操作系统和CPU之间还有一层翻译?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CBEMA
2009-04-28
打赏
举报
回复
不同cpu对应的部分指令集有相同的,用这样的指令集写出的程序当然可以跑在不同cpu下。
xtdumpling
2009-04-28
打赏
举报
回复
每个操作系统都有其支持的CPU列表,没有什么操作系统能够在
任何CPU
上都能跑的.
Cricketol
2009-04-28
打赏
举报
回复
我明白了
非常感谢大家!!!
PctGL
2009-04-28
打赏
举报
回复
这种程序很少见,也很长见,象游戏模拟器,原理其实就是硬件地址编码的映射
不过这必须有一套完整的自动认可系统,如果是两套指令系统混编,这么bt的东西,我还没见过...
xtdumpling
2009-04-28
打赏
举报
回复
像Intel,AMD的CPU都有一条标准的CPUID指令,能够得到CPU的很多信息
Cricketol
2009-04-28
打赏
举报
回复
[Quote=引用 9 楼 xtdumpling 的回复:]
每个操作系统都有其支持的CPU列表,没有什么操作系统能够在任何CPU上都能跑的.
[/Quote]
有这句话我就理解了
感谢大家!!!
还有个小小的问题,操作系统怎么识别到底是那种CPU?
hjjdebug
2009-04-27
打赏
举报
回复
lz 没有把“程序”二字说清楚。 问题也就比较模糊。
Cricketol
2009-04-27
打赏
举报
回复
[Quote=引用 6 楼 rqshi0315 的回复:]
底层的程序把上面的应用封装了。
例如,同一操作系统,如果是cup 不同,虽然上面的大部分代码都一样但是,底层的代码是不同的。
操作系统也不完全脱离汇编的,和硬件直接打交道的要用汇编,汇编的话那就和处理器有联系了。这部分代码小,所以即使有不同,也不认为是不同的操作系统。
[/Quote]
那是不是每个操作系统底层都会根据不同的CPU按照不同的指令规则解释程序?
如果是这样的话每个操作系统都要收集每个操作系统的指令集,以保证操作系统本身在任何CPU上都能跑起来,能否这样理解?
goodider
2009-04-27
打赏
举报
回复
打个比方可能不恰当。比如CPU就是公路。各种指令就是交通表示线和交通规则。各种操作系统啊就是汽车。不管是高速公路(INTEL)还是环行线(AMD)不管你是是左驾驶还是右驾驶。因为他们路上都有道路标示线他们都要遵守交通规则(各种指令)。虽然道路设计和施工方法不一样。但是他们都是路。上面都跑汽车(各种操作系统)。
rqshi0315
2009-04-27
打赏
举报
回复
底层的程序把上面的应用封装了。
例如,同一操作系统,如果是cup 不同,虽然上面的大部分代码都一样但是,底层的代码是不同的。
操作系统也不完全脱离汇编的,和硬件直接打交道的要用汇编,汇编的话那就和处理器有联系了。这部分代码小,所以即使有不同,也不认为是不同的操作系统。
hjjdebug
2009-04-27
打赏
举报
回复
AMD, 及早期cyrix 都是兼容INTEL cpu 的, 就是说它们和intel cpu 有几乎一样的指令集。
Cricketol
2009-04-27
打赏
举报
回复
我的意思是AMD,INTEL等CPU的指令系统必然有差别,但是它们同样可以跑同一个程序或者说跑同一个操作系统
小赌移情
2009-04-26
打赏
举报
回复
不能運行同一程序的, 為x86的,為mips的,為arm的都要分別編譯.
不過java,.net情況就不同, 確實有個虛擬機.
cnzdgs
2009-04-26
打赏
举报
回复
只要CPU兼容程序所使用的指令即可运行,例如程序使用的是386指令集,则在各种兼容386的CPU上都可以运行。
基于proteus的
CPU
控制器设计(微
程序
版)
本文详细介绍了一种基于Proteus的微
程序
控制
CPU
设计方法,包括数据通路、微
程序
设计原理及控制器结构。通过分析指令集和数据流,设计了微
指令格式
与微
程序
流程,实现了从指令取指到执行的自动化控制。
CPU
设计——RISC-V指令集
本文详细介绍了RISC-V指令集,包括其开放性、
指令格式
和寄存器结构。RISC-V32I基础指令集有32个通用寄存器,指令分为R、I、S、B、U、J六种类型,分别用于
不同
的运算和控制操作。R型指令用于寄存器间运算,I型涉及立即数运算,S型用于存储器写入,B型处理分支,U型处理高20位立即数,J型则用于直接跳转。这些
指令格式
通过
不同
的操作码和功能码进行区分。文章适合对计算机体系结构感兴趣的读者学习。
一文读懂
CPU
工作原理、
程序
是如何在单片机内执行的、
指令格式
之操作码地址码
本文详细阐述了
CPU
的结构和运行原理,包括控制单元如何读取内存中的指令,指令寄存器、指令译码器和操作控制器的角色,以及运算单元和存储单元的功能。重点讨论了指令的执行过程,包括取指令、译码、执行和数据写回,并提到了
不同
类型的指令如零地址、一地址、二地址和三地址指令。此外,还介绍了操作码的编码方式,包括固定长度和可变长度编码,以及它们在指令系统扩展中的应用。
程序
及指令的关系
本文深入浅出地介绍了
CPU
如何执行
程序
的基本原理,包括
程序
与指令的关系、指令周期、
CPU
如何区分指令与数据等内容。
8086
CPU
汇编语言
程序
格式
本文详细介绍了8086
CPU
汇编语言的
程序
格式,包括汇编语言语句结构、DEBUG和MASM环境中的指令处理、符号定义、过程定义与调用、源
程序
开发流程以及CodeView调试工具的使用。
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章