寄存器(CPU工作原理)02 零基础入门学习汇编语言07

第二章:寄存器(CPU工作原理)02

 

让编程改变世界

Change the world by program


 

8086CPU的8位寄存器存储逻辑

  以AX为例,8086CPU的16位寄存器分为两个8位寄存器的情况: [caption id="attachment_249" align="aligncenter" width="300"]8086CPU的16位寄存器 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]
原文地址:https://www.cnblogs.com/LoveFishC/p/3845976.html