有关汇编的小知识 谢谢
有关汇编的小知识 谢谢
word ptr表示后面的内存数据取一字,地址用[ ] 这个。
mov ax,word ptr [7800+1]
mov eax,dword ptr [7800+1]
word是数据大小描述符,后面地址用方括号,圆括号表示优先运算。
设计操作系统需要哪些方面的知识?除了《计算机组成原理》、《C语言》、《汇编语言》?
计算机组成原理、数据结构、操作系统原理、微机原理、c语言、汇编语言、目标机器的硬件知识、软件工程等,还需要熟悉一些标准,比如POSIX等。
推荐你看以下书籍:
于渊的《自己动手设计操作系统》,在x86保护模式下从系统引导到IO管理。x86保护模式比较难于理解,但功能强大。
坦尼保姆的《操作系统设计与实现》,介绍Minix的设计与实现,太复杂。
李红卫的《操作系统原理与实践教程》,我最近正在看,上面提供了一个在x86实模式下设计的一个教学使用的MOS操作系统,从系统的引导开始设计,代码好像只有2000余行,对初学者了解操作系统知识和设计操作系统可能有一定的帮助,在网上能找到mOS的原代码,好像还有个教学网站,你找找吧。在实模式下设计,比保护模式要简单。
前辈,如果真想开发机器语言,和汇编语言。需要些什么条件?比如说软件掌握哪些知识。硬件又需要些什么~!
其实要做中文编程的话,不用自己开发机器语言和汇编语言,机器语言的形式是由CPU的体系结构决定的,现在的CPU是用很多晶体管组成一系列的开关电路来工作,而开关只有两种状态,要么开,要么关,如果把“开”这一状态用“1”来表示,把“关”用“0”来表示,那么这就是所谓的机器语言,机器语言就是直接控制CPU里面哪些开关打开,哪些开关关闭,从而完成相应的功能,现在的计算机都是以二进制形式工作,就是这个原因。也有人希望能彻底的改变现在的计算机体系,就像有人提出的下一代计算机,“生物计算机”,其CPU由活性生物分子组成,而不是半导体晶体管,这样就能完全颠覆现在的机器语言,有人做过实验,用老鼠的脑细胞来构成CPU,能够完成一些简单的功能。但是生物计算机现在只处于实验阶段,还不能真正使用。
如果你要自己开发一个汇编语言,那你就要改变CPU的电路结构,比如说你把串联改为并联。现在的CPU有两种体系,一种是X86体系,是通用式设备(比如电脑)上采用的体系,使用的是X86汇编语言,另一种是ARM体系,是嵌入式设备(比如手机)上采用的体系,使用的是ARM汇编语言。要想自己开发一套汇编语言,你就得先开发出一种不同的CPU体系,这是硬件开发者的事,而不是软件开发人员能胜任的。再者,假设你真的开发出了一种不同的CPU体系,而且有了自己的汇编语言,如果要使全球的程序员都用你的汇编语言,你就得让你的CPU占有全球大部分市场,也就是说你要把Intel 公司或是ARM公司拉下马。
要做中文编程,只要开发出一种全新的高级语言就行了,这并不是简单的事。首先,你必须明确你的语言所适用的方向,比如java适用于网络编程,C++适用于平台开发。如果你想让你的语言具有良好的兼容性,能在各种平台上运行,你就要考虑语言的安全性和可移植性,同时你必须放弃执行速度和执行效率。所以java能在各种平台上运行,但效率不高,C++效率很高,但只能在特定的平台上运行。其次,要使你的语言有比较大的创新,这样的语言才能影响全球,如果你的语言对现在的计算机语言没多大改进,那就没必要花那么多精力再自己开发出一种语言。正是有了面向对象、可移植性、高安全性这些创新,java和C++才如此受欢迎。
要说掌握哪些知识,首先,你要对计算机结构体系有深刻的了解,你可以学一学模拟电路(这是基础),数字电路,微机原理(包括X86体系和ARM体系),另外,你必须对CPU的原材料--半导体--有一定了解,有一门学科叫半导体物理学,你可以学一学。同时还要了解CPU的体系,现在是冯·诺依曼体系,说不定你能提出另一种完全不同的体系让CPU的执行效率更高。其次,对于软件,你可以学一学编译原理,再深入研究几门不同适用方向的计算机语言(网络语言java,平台语言C++,脚本语言javascript,数据库语言delphi等等),而不用研究很多门语言,很多人都用过C语言,但是有多少人真正了解C语言?当你在使用C语言里面的printf这个函数的时候,你是否知道你的内存里面的数据发生了什么变化,各个寄存器里面的值又有什么改变,CPU是如何控制这些改变然后再将结果呈现在你的面前?另外,C语言里面的每个函数都是有函数原型的,不同的代码可以使用不同的方式控制CPU,国际标准协会在制定C语言标准的时候为什么要用这些代码来实现相应的功能,而不用其它代码?如果让你来写这个函数,你会怎么做?如果你了解这些东西,你自己开发出的语言才会很优秀。这些知识固然重要,但更重要的是要善于观察,善于思考,善于创新。希望这些东西对你有所帮助,最后,祝你成功!
声明:农机大全所有(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者。若您的权利被侵害,请联系 56325386@qq.com 删除。
载注明出处:http://nongjidaquan.com/news/231712.html