第一章 80X86微型计算机组织 学习笔记

                   第一章 80X86微型计算机组织
 计算机的主要内部硬件包括微处理器、内存和寄存器;外部硬件是指外部设备,如键盘、鼠标、显示器、磁盘、光盘等。
 什么是**汇编语言**?
 汇编语言是一种对计算机硬件进行直接编程的语言,所以,要学好汇编语言,必须对微处理器、存储系统、输入/输出系统有叫深刻的理解。
 IBM-PC系列计算机的存储器
 要点:
 1.二进制位和字节
 二进制位(bit)是计算机存储数据的最小单元,只能存储二进制书0或1。8个连续的二进制位构成一个字节(Byte),字节的最低位成为第0位,最高位成为第7位。
 两个字节组成一个字(Word),即一个字为16位:bit0~bit15,其中,bit0~bit7为低位字节,bit8~bit15为高位字节。
 双字:4个字节,32位。
 4字:8个字节,64位。
 5字:10个字节,80位。
 8字:16个字节,128位。
 表示存储容量的一些单位:
 KB:1KB=1024Bytes(即2^10字节)
 MB: 1MB=1024Bytes(即2^20字节)
 GB: 1GB=1024Bytes(即2^30字节)
 2.存储单元的地址和内容
 将内容的字节从0开始依次连续编号,字节对应的编号称为它的地址,计算机通过地址来访问内存单元。
内存是用来存放程序指令和数据的,一个存储单元存放的信息称为该存储单元中的内容。
一个字存入存储器要占相继的两个字节,存放时采取“高高低低”的原则(即低字节存入低地址,高位字节存入高地址)
3.IBM-PC系列计算机内存映像
 要点:存储器系统划分为三部分:程序暂驻区(TPA)、系统内存区和扩展存储器系统(XMS)
TPA   程序暂驻区驻留操作系统和其他控制计算机的程序,也存放任何当前激活的或者非激活的应用程序,长度为640KB。
系统内存区  包括只读存储器或可擦写存储器中的程序以及RAM的数据区。
4.I/O空间
I/O系统是指I/O总线、I/O接口和I/O设备有关的软硬件的总称。
外设接口
外部设备与主机的通信是通过外设接口进行的。每个接口包括一组寄存器:
数据寄存器:用来存放外设和主机间传送的数据,这种寄存器实际上起缓冲器的作用。
状态寄存器:用来保存外部设备或接口的状态信息,以便CPU在必要时测试外设的状态,了解外设的工作情况。
命令寄存器:CPU给外设或接口的控制命令通过此寄存器送给外部设备。

端口地址:每个寄存器对应的编号称为它的端口地址。
IBM-PC计算机I/O地址空间可达64KB,所以I/O地址的地址范围是0000H~FFFFH。

IBM-PC系列计算机的总线
总线:地址总线、数据总线和控制总线,分别负责在微处理器与存储器和I/O设备之间传送地址、数据和控制信息。
地址总线:用于请求存储器的一个存储单元或者一个I/O端口.
数据总线:作用是在CPU与存储器之间或CPU与I/O地址空间之间传送数据。
控制总线:存储器读控制、存储器写控制、I/O读控制、I/O写控制。
5.微处理器的工作模式
CPU的任务是执行存放在存储器里的指令序列。它是由运算器、控制器、一组寄存器和高速缓存组成的。
CPU中的寄存器
累加器:AH AX AL
基址寄存器:BH BX BL
计数器:CH CX CL
数据寄存器:DH DX DL
堆栈指针:SP
基址指针:BP
目的变址:DI
原变址寄存器:SI
指令指针:IP
标志寄存器:FLAGS
段寄存器
代码段寄存器:CS
数据段寄存器:DS
附加段寄存器:ES
堆栈段寄存器:SS
还有一些通用寄存器就不一一介绍了
标志寄存器在实模式下,包含了一下的标志位

** 标志: O D I T S Z A P C**
** 位号. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0**
** **以下列出每个标志位及功能的简要说明
C(进位) 计算结果的最高位有进位或借位,则C置为1,否则置为0。
P(奇偶性) 奇校验标志是逻辑0,偶校验标志是逻辑1.奇偶性就是在一个数中1的个数是偶数还是奇数。
A(辅助进位) 辅助进位标志保留加法的结果3位和4位间进位,或者减法后的结果3、4位间的借位,有进位或借位则A置为1,否则A置为0。

Z(零) 零标志表示一个算术或逻辑操作的结果是否为零。如果结果为0,Z置为1,结果不为0,Z置为0。

S(符号) 符号标志保持算术或逻辑指令后结果的算术符号。结果为负,S=1;结果为正,S=0。

T(陷阱) 陷阱允许通过芯片上调试特性来设置陷阱中断(调试一个程序,以便找到错误和故障)。如果T标志为1(允许),则微处理器中断程序。如果T标志是逻辑0,则设置陷阱特性被禁止。

I(中断) 中断标志是否响应外部可屏蔽中断请求。如果I=1,则中断允许。如果I=0,则中断被禁止。1标志的状态由STl(I标志置1)和CLI(I标志置0)指令来控制。

D(方向) 如果D=1则寄存器自动地递减;如果D=0则寄存器自动地递增。D标志通过STD(置方向)指令设置,通过CLD(清方向)指令清除。

O(溢出) 溢出标志在有符号数加或减,结果溢出,O置为1。溢出指示结果已超出数的范围。
段寄存器用来与微处理器中其他寄存器联合产生存储器地址。
每种段寄存器及它们的功能如下:
CS(代码段寄存器) 代码段是一个存储器区段,保存微处理器使用的代码(程序和过程)代码段寄存器用于定义存放代码的存储器的起始地址。
DS(数据段寄存器) 数据段是含有程序所用数据的存储区段,通过数据段的起始地址和偏移地址结合寻址数据。数据段寄存器就是用来定义数据段的起始地址的。
ES(附加段寄存器) 附加段是为某些串指令存放目标数据而外加的一个数据段。ES寄存器用来定义附加段的起始地址。
SS(堆栈段寄存器) 堆栈段寄存器定义堆栈用的存储区。堆栈段寄存器就是用来定义堆栈段的起始地址的。
6.实模式存储器寻址
第一个1MB存储器称做实存储器或常规存储器。
段和偏移
问题:16位的寄存器怎样来寻址20位的地址空间呢?
所有实模式存储器地址都由段地址组成。段寄存器内的段地址定义任意64KB存储段的开始地址。偏移地址是指在这个64KB存储段内任意一个单元的段内地址,即距段首的字节数,因此也称为相对地址。
回到该问题,要用16位的寄存器来寻址20位空间,就在段寄存器内容右边增补一个0H,形成20位存储器地址,允许它去访问第一个1MB存储器内以任何的以16B为边界的段起点。
存储单元的真实地址为物理地址,采用了段地址、偏移地址方案后,物理地址可以按如下公式计算:
物理地址=(段寄存器)X10H+偏移地址
例如段寄存器内容为1200H,它寻址在12000H单元的存储段。同样,如果段寄存器内容是1201H,它寻址开始于12010H单元的存储段。
隐含段和偏移寄存器
微处理器有一套段加偏移地址规则,用于各种实际的寻址方式。
段寄存器与固定搭配的偏移寄存器
CS寄存器
有效程序代码段得起始地址.加上在指令指针(IP)寄存器中的偏移值,就指明了为执行指令所要取得的指令地址。
(CS)+(IP)= 下一条指令的地址
DS寄存器 包含程序数据段得起始地址,该地址加上在指令中的偏移值,就可以访问位于数据段中的指定字节单元。
(DS)+(BX)=数据段中数据的地址
(DS)+(DI)=数据段中数据的地址
(DS)+(SI)=数据段中数据的地址
(DS)+(16位 立即数)=数据段中数据的地址
SS寄存器 允许在寄存器中实现堆栈。加上堆栈指针(SP)寄存器中的偏移值,就指明了正被寻址的堆栈中的当前字。
(SS)+(SP)=堆栈中的当前字的地址
(SS)+(BP)=堆栈中的数据的地址
ES寄存器 程序中其他段得起始地址。
用于某些串操作中和DI寄存器相关联
(ES)+(DI)=串地址的结尾

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容