第二章:寄存器(CPU工作原理)02
让编程改变世界
Change the world by program
8086CPU的8位寄存器存储逻辑
以AX为例,8086CPU的16位寄存器分为两个8位寄存器的情况: [caption id="attachment_249" align="aligncenter" width="300"]
8086CPU的16位寄存器[/caption]
AX的低8位(0位~7位)构成了AL寄存器,高8位(8位~15位)构成了AH寄存器。
AH和AL寄存器是可以独立使用的8位寄存器。 8086CPU的8位寄存器数据存储情况 [caption id="attachment_250" align="aligncenter" width="300"]
8086CPU的8位寄存器数据存储情况[/caption] [caption id="attachment_251" align="aligncenter" width="300"]
8086CPU的8位寄存器数据存储情况[/caption]
一个8位寄存器所能存储的数据的最大值是多少? 答案:
2^8-1。
字在寄存器中的存储
一个字可以存在一个16位寄存器中,这个字的高位字节和低位字节自然就存在这个寄存器的高8位寄存器和低8位寄存器中。 [caption id="attachment_252" align="aligncenter" width="300"]
字在寄存器中的存储[/caption]
关于数制的讨论
由于一个内存单元可以存放 8位数据,CPU中的寄存器又可存放 n 个 8位数据。也就是说,计算机中的数据大多是由1~N个8位数据构成的。 用十六进制来表示数据可以直观的看出这个数据是由哪些8位数据构成的。 每两位对应一个八位的二进制数据(
修正视频)!
几条汇编指令
[caption id="attachment_253" align="aligncenter" width="300"]
汇编指令[/caption] CPU执行下表中的程序段的每条指令后,对寄存器中的数据进行的改变。 [caption id="attachment_254" align="aligncenter" width="300"]
汇编指令[/caption] [caption id="attachment_255" align="aligncenter" width="300"]
汇编指令[/caption] 这里的丢失,指的是进位制不能在 8 位寄存器中保存,但是 CPU 不是并真的不丢弃 这个进位值,这个问题会在后面的课程中讨论。 检测点2.1(Page 18) [buy]
获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LVULDHEYNHYI']视频下载[/Downlink]