1.简单的说,在CPU中:运算器进行信息处理;寄存器进行信息存储;控制器控制各种器件进行工作;内部总线连接各种器件,在它们之间进行数据的传送。
2.寄存器组:
寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。
寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。
另外,由于寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调...


- [游客] 对了;-) 10/27 10:09
- [yuhaibo] 原来如此,多谢指教 10/25 11:40
- [游客] 第一题可以自己在debug中验证一下,还顺便熟悉了一下debug,一举双得啊,呵呵 10/25 10:46
- [zhuzhu] 因为段地址都是16进制表示的整数,它的最小增量是1。不可能增加一个0.1的小数。 所以满足条件的是 10/25 10:26
- [yuhaibo] 那最小的是不是1000.1H? 10/24 20:08
- [yuhaibo] 那1000H应该是错的,那应该是多少呢,望能告诉答案 10/24 19:34
- [zhuzhu] 但是段地址是1000h的时候能访问到20000h吗? 10/24 18:06
- [游客] 偏移地址的变化范围是0-FFFFH 给定的内存单元地址是20000H 拿20000H-0再除16 10/24 17:11
- [Wednesday] 能确定吗?! 能说说思路吗! 10/24 15:55
- [zhuzhu] 第二题有问题,最小值好像太小了点;-) 10/24 15:53
[2007-10-22 22:06] 学习笔记:第二章 寄存器(CPU工作原理)(1)
阅读全文 |
作者:goal00001111 |
评论次数(0) |
浏览次数(602)
[2007-10-23 08:35] 学习笔记:第二章 寄存器(CPU工作原理)(2)
15. 内存单元的物理地址:
CPU访问内存单元时,要给出内存单元的地址,计算机的内存单元是以“字节”为最小单位进行线性编址的。每一个内存单元在存储空间中都有唯一的地址,为了标识每个存储单元,就给每个存储单元规定一个编号,此编号就是该存储单元的物理地址。
存储单元的物理地址是一个无符号的二进制数。但为了书写的简化,物理地址通常用十六进制来表示。
CPU通过地址总线送入存储器的必须是一个内存单元的物理地址。内存单元的物理地址在送上总线之前,必须在CPU中处理,传输,暂时存放。对于16位的CPU,能一次性处理,传输,暂时存储16位的地址。
16.16位结构的CPU(8086)具有下面...
CPU访问内存单元时,要给出内存单元的地址,计算机的内存单元是以“字节”为最小单位进行线性编址的。每一个内存单元在存储空间中都有唯一的地址,为了标识每个存储单元,就给每个存储单元规定一个编号,此编号就是该存储单元的物理地址。
存储单元的物理地址是一个无符号的二进制数。但为了书写的简化,物理地址通常用十六进制来表示。
CPU通过地址总线送入存储器的必须是一个内存单元的物理地址。内存单元的物理地址在送上总线之前,必须在CPU中处理,传输,暂时存放。对于16位的CPU,能一次性处理,传输,暂时存储16位的地址。
16.16位结构的CPU(8086)具有下面...
阅读全文 |
作者:goal00001111 |
评论次数(4) |
浏览次数(686)
[2007-10-23 10:12] 学习笔记:第二章 寄存器(CPU工作原理)(3)
20.段寄存器的引用:
段寄存器是因为对内存的分段管理而设置的。16位CPU有四个段寄存器,所以,其程序可同时访问四个不同含义的段。
段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。
段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,则其缺省的段寄存器也是SS,并且用BP可访问整个堆栈,不仅仅是只访问栈顶。
段寄存器DS指向数据段,ES指向附加段,在存取操作数时,二者之一和一个偏移量合并就可得到存储单元的物理地址。该偏移量可以是...
段寄存器是因为对内存的分段管理而设置的。16位CPU有四个段寄存器,所以,其程序可同时访问四个不同含义的段。
段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。
段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,则其缺省的段寄存器也是SS,并且用BP可访问整个堆栈,不仅仅是只访问栈顶。
段寄存器DS指向数据段,ES指向附加段,在存取操作数时,二者之一和一个偏移量合并就可得到存储单元的物理地址。该偏移量可以是...
阅读全文 |
作者:goal00001111 |
评论次数(2) |
浏览次数(538)
[2007-10-24 20:18] 学习笔记:调试程序debug常用指令的使用(2)
4.反汇编命令U
反汇编命令U(Unassemble)将主存内容按照机器代码形成汇编指令显示:
U [地址] ;从指定地址开始,反汇编32个字节(80列显示模式)
U 范围 ;对指定范围的主存内容进行反汇编
U命令中如果没有指定地址,则接着上一个U命令的最后一个单元开始;若还没有使用过U命令,则从当前CS : IP开始。
例如:
C:\>debug
-u;无指定地址,从当前CS : IP开始反汇编32个字节
0AF2:0100 B8204E MOV AX,4E20
0AF2:0103 051614 ADD ...
反汇编命令U(Unassemble)将主存内容按照机器代码形成汇编指令显示:
U [地址] ;从指定地址开始,反汇编32个字节(80列显示模式)
U 范围 ;对指定范围的主存内容进行反汇编
U命令中如果没有指定地址,则接着上一个U命令的最后一个单元开始;若还没有使用过U命令,则从当前CS : IP开始。
例如:
C:\>debug
-u;无指定地址,从当前CS : IP开始反汇编32个字节
0AF2:0100 B8204E MOV AX,4E20
0AF2:0103 051614 ADD ...
阅读全文 |
作者:goal00001111 |
评论次数(0) |
浏览次数(762)
页码数(1):
1