不同的CPU,汇编语言也不同?

来源:百度知道 编辑:UC知道 时间:2024/06/28 13:36:23
可不可以针对这方面详细讲讲,我初学

如果楼主只是针对一个系统(比如说微机系统)用汇编语言编程的话,其实基本不用考虑兼容性的问题
现在的CPU基本是INTEL的天下了,另外的一个能和INTEL较劲的CPU生产商AMD的CPU指令和INTEL也是基本兼容的,用汇编编程的时候注意一下就好了,那些不同CPU之间有出入的指令坚决不用,所以我说兼容性基本可以不用考虑
另外个人认为关于指令系统在以后必定会出现一个规范,以用于规范这些乱麻似的各种指令系统,就像IEEE,W3C等等.当然,也可能已经有了,这个我不太清楚

另外关于不同类型的CPU之间的源程序不能通用的问题个人认为有点像放屁.
拿单片机和微机的CPU举例,这两种CPU虽然都可以用C语言写,但其实它们的编译器是不一样的(这个我不太确定),更重要的是单片机和微机的硬件是完全不一样的,有时输入系统可能就是一个电键,所以你甚至不能输入一个字符.在这种情况下,你如果通过汇编来学习单片机,其实会更简单,也会学的更深刻

最后需要强调的是,汇编语言重要的不是指令,而是编程思想,技巧和对各种硬件的控制,在真正需要汇编的地方其实不需要太大的编码量(一般只在一些特别需要速度的地方嵌入汇编,其他地方还是用高级语言),所以就更不需要考虑兼容性了,反正就那么一点,大不了重写呗

最最后,我要说的是:
其实汇编不是用来写程序的 - -
现在的CPU越来越快了,各种硬件也越来越牛,所以很多时候已经不需要用汇编来优化了.再说了,如果一个游戏或程序因为没有优化而运行的不是很好的话,会刺激使用者去购买更高级的硬件,这样会刺激硬件制造商生产更牛的硬件,这个虽然会使电脑使用者倒霉,但对计算机的未来还是有好处的(这个是在罗云彬的书里看到的,intel和微软就是用的这种方式)
【汇编是用来更深刻地理解其他高级语言的】
高级语言的某些知识如果通过汇编来思考的话,会很容易理解,你甚至可以把汇编当成是理解高级语言的工具,而且这个工具非常的牛

===========================================================
好了,以上就是我的观点,可能会有一点偏激和若干错误,希望对楼主能有点用

<