|
主题 : : 关于汇编指令和机器指令以及寄存器的问题? [待解决] |
回复[ 7次 ]
点击[ 765次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2013-05-26 22:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-05-19 22:41 |
第一个问题,课本上说:寄存器,简单地说就说CPU中可以存储数据的器件,那么是不是说寄存器都是在CUP中,只有CPU中有寄存器。
第二个问题,程序员用汇编语言写出源代码,再由编译器编译成机器指令,然后提交给计算机执行。这里有个疑问,程序员是根据什么来写汇编代码的?就是怎么知道某一串机器指令用什么汇编语言表示的,就比如说汇编指令mov ,这个mov指令我们怎么知道它对应的机器指令是什么?是不是每一种CPU都有一些固定的汇编指令集代表相对应的机器指令?比如说汇编指令mov ax,bx.编译器可以把它编译成机器指令1000100111011000,然后由计算机执行。为什么这段汇编指令由编译器编译后得到的机器指令是1000100111011000,而不是其他的机器指令?每个汇编指令都是一一对应代表固定含义的机器指令吗? 这个问题疑惑了很久,希望有高手帮忙解答一下,感激不尽。 | | |
|
|
|
|
[第1楼]
[ 回复时间:2013-05-27 01:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2010-01-27 19:28 |
1、不能这么说吧。
就好像嘴巴是人体上吃饭的器官,你不能说猪身上就没有嘴阿。
CPU的寄存器就在CPU中。其他电子器件的寄存器就在它们自己身上啰,至于哪些器件有寄存器,有处理能力有器件可能有,具体是哪些我就不知道了。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2013-05-27 11:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-05-19 22:41 |
|
|
|
|
|
[第3楼]
[ 回复时间:2013-06-02 21:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2008-10-12 14:20 |
我们学的汇编指令本身就是一种规范,是跟机器码一一对应的,编译器自会理解到汇编指令并转化。而且每种CPU的汇编指令集都不同的 | | |
|
|
|
|
[第4楼]
[ 回复时间:2013-06-11 15:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-06-11 13:26 |
1.寄存器是CPU里的存储单元,和这些存储原件的数据传送是cpu内总线,所以速度肯定比访问内存快。
一般芯片都有寄存器吧,好像后面讲网卡时应该有涉及吧,记不清了。
不过这里针对cpu编程,其他的别想了。
2.机器语言依赖于硬件,所以机器语言符号化的汇编语言也不例外,不过我们学的是x86兼容的汇编。
至于汇编和机器指令映射,自己可以去查阅intel相关的文档手册,好像挺厚一本。知道就行了。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2013-06-15 11:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-06-15 10:10 |
1.
比喻,上衣→CPU,裤子→显卡,口袋→寄存器,手提包→其他存储设备
手提包 缝在上衣上,也就是口袋了,或者叫上衣口袋。
手提包 缝在裤子上,也是口袋,或者叫裤子口袋
2.看3楼 | | |
|
|
|
|
[第6楼]
[ 回复时间:2016-03-30 22:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2016-03-13 23:02 |
1.微机原理在I/o组织上讲CPU会通过与存储器非统一编址方式去访问外设上的寄存器,这些寄存器被称为端口。
2.第一个程序这一章节中,王爽老师清楚的讲明编译及其连接的过程,编译器通过伪指令将源程序翻译出来,连接器将翻译出来的内容,生成可执行的二进制文件。至于汇编指令与机器语言的唯一对应关系,这是自然,关系若不唯一,某命令多次执行的效果,岂不相同。
3.对于“知识屏蔽”概念,觉着可以把困惑的问题先放一放,学多了,再回头看,以免影响学习进度,分叉学习方向。
4.楼主可能会注意不到吧,很好的论坛,不要没落了嘛。后来人看到,望努力。 | | |