版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 寄存器8088/86微处理器的内部结构微处理器的内部结构执行部分执行部分EU总线接口部分总线接口部分BIU返回返回 寄存器组寄存器组AXBXCXDXSPBPSIDI8位位8位位AHALAXBHBLBXCHCLCXDHDLDX16位寄存器通用寄存器通用寄存器累加器累加器基址基址计数器计数器数据数据指针寄存器指针寄存器变址寄存器变址寄存器堆栈指针堆栈指针基数指针基数指针源变址源变址目的变址目的变址 寄存器组寄存器组IPPSW CSDSSSES控制寄存器控制寄存器段寄存器段寄存器状态标志状态标志指令指针指令指针代码段代码段数据段数据段堆栈段堆栈段附加段附加段提提供供相相应应的的段段地地址。址
2、。一、通用寄存器一、通用寄存器 8086CPU的内部寄存器都是16位。 将AX、BX、CX、DX 四个寄存器称为通用寄存器。 通用寄存器可分为两个独立的8位寄存器来用。AX寄存器的逻辑结构15 14 13 12 11 1098765432100000000000010010MOV AX,18MOV AX,20000010011100010000016位寄存器分成两个8位寄存器的使用情况AX寄存器的逻辑结构15 14 13 12 11 109876543210AX寄存器的逻辑结构15 14 13 12 11 1098765432107654321076543210AHAL010011100010
3、0000寄存器寄存器寄存器中的数据寄存器中的数据所表示的值所表示的值AXAHAL0100111000100000 20000(4E20H)0100111078 (4EH)0010000032 (20H)一个一个8位寄存器所能存储的数据的最大值是多少?位寄存器所能存储的数据的最大值是多少?一个一个16位寄存器所能存储的最大值又是多少?位寄存器所能存储的最大值又是多少?二、字在寄存器中的存储二、字在寄存器中的存储 字节(字节(ByteByte):由8个比特组成;可以存在8位寄存器中。 字(字(wordword):由两个字节组成;这两个字节分别称为这个字的高位字节和低位字节。注:一个16位寄存器中的
4、数据即可以看成一个字型数据,也可以看作两个字节型数据。例:可看成一个字型数据20000存在AX中,也可看成两个独立的字节型数据分为为78和32。0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 00 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0三、几条汇编指令三、几条汇编指令注:在汇编语言中英文字母不区分大小字。注:在汇编语言中英文字母不区分大小字。汇编指令汇编指令控制控制CPU完成的操作完成的操作用高级语言描述用高级语言描述MOV AX,18将将18送入寄存器送入寄存器AXAX=18MOV AH,78将将78送入寄存器送入寄存器AHAH=78ADD AX,8将寄存器将
5、寄存器AX中的数值加上中的数值加上8AX=AX+8MOV AX,BX将寄存器将寄存器BX中的数据送入中的数据送入AXAX=BXADD AX,BX将将AX和和BX中的数值相加,结中的数值相加,结果保存在果保存在AX中中AX=AX+BX程序段中的指令程序段中的指令AXAX中的数据中的数据BXBX中的数据中的数据MOV AXMOV AX,4E20H4E20HADD AXADD AX,1406H1406HMOV BXMOV BX,2000H2000HADD AXADD AX,BXBXMOV BXMOV BX,AXAXADD AXADD AX,BXBX设原设原AX=BX=0000HAX=BX=0000H
6、,分析下列指令执行后,分析下列指令执行后AXAX,BXBX中的数据为多少?中的数据为多少?4E20H4E20H0000H0000H6226H6226H0000H0000H6226H6226H2000H2000H8226H8226H2000H2000H8226H8226H8226H8226H8226H+8226H=1044CH8226H+8226H=1044CH AX=AX=?044CH044CH8226H8226H注:当所保存的数据位数大于寄存器的位数时,高位的注:当所保存的数据位数大于寄存器的位数时,高位的数据会丢失,称为数据溢出。数据会丢失,称为数据溢出。程序段中的指令程序段中的指令AX中
7、的数据中的数据BX中的数据中的数据MOV AX,001AHMOV BX,0026HADD AL,BLADD AH,BLADD BH,ALMOV AH,0ADD AL,85HADD AL,93H001AH0000H001AH0026H0040H0026H2640H0026H2640H4026H0040H4026H00C5H4026H0058H4026H注:当通用寄存器作为注:当通用寄存器作为8位寄存器使用时,低位寄存器使用时,低8位和高位和高8位相当于位相当于两个独立的寄存器,它们之间没有直接关系,不能产生进位。两个独立的寄存器,它们之间没有直接关系,不能产生进位。ADD AX,85H AX=?
8、ADD AX,93H AX=?注意:注意:在进行数据传送或运算时,要注意指在进行数据传送或运算时,要注意指令的操作数的位数要匹配。令的操作数的位数要匹配。例:例:数据位数不匹配的指令数据位数不匹配的指令MOVAX,BLMOVBH,AXMOVAL,20000ADDAL,100H练习练习:使用4条指令计算2的4次方四、物理地址四、物理地址我们给每个存储单元给了唯一的一个编号,这个编号就是这个内存单元的物理地址。在8086/8088CPU中对外有20根地址线寻址,所以其系统中的内存单元物理地址为20位的地址编号。地址总线内存.20根线,每根可表根线,每根可表0/1,总共可表多少数?即为地址编号总数。
9、,总共可表多少数?即为地址编号总数。存储单元按序编号,即为其物理地址。存储单元按序编号,即为其物理地址。00000HFFFFFH是否给我们这样一个概念?寻址功能输入:20位二进制串(地址)输出:8/16位二进制串(数值)8086具有20根地址总线,16根数据总线五、五、16位结构的位结构的CPU16位机:运算器一次最多可以处理16位的数据。寄存器的最大宽度为16位;寄存器和运算器之间的通路为16位。六、六、8086CPU给出物理地址的方法给出物理地址的方法1)CPU中的段寄存器(中的段寄存器(CS)提供段地址,指令指针寄存器提供段地址,指令指针寄存器(IP)提供偏移地址;)提供偏移地址;2)段
10、地址和偏移地址通过内部)段地址和偏移地址通过内部总线送入地址加法器;总线送入地址加法器;3)地址加法器将两个)地址加法器将两个16位地址位地址合成一个合成一个20位的物理地址;位的物理地址;4)地址加法器将)地址加法器将20位的物理地位的物理地址送输入输出控制电路;址送输入输出控制电路;5)输入输出控制电路将)输入输出控制电路将20位物位物理地址送上外部地址总线;理地址送上外部地址总线;6)地址总线将)地址总线将20位物理地址送位物理地址送入内存,寻址。入内存,寻址。其他其他部件部件地址地址加法器加法器输入输入输出输出控制控制电路电路偏移地址偏移地址段地址段地址16位位物物理理20位位内存内存
11、20位物理地址位物理地址8位数据总线位数据总线16位控制总线位控制总线CPU物理地址物理地址=段地址段地址16+偏移地址偏移地址 =段地址(左移段地址(左移4位)位)+偏移地址偏移地址 8088CPU访问内存单元工作过程访问内存单元工作过程 访问地址为访问地址为123C8H的内存单元时,地址的内存单元时,地址加法器的工作过程(数据皆为十六进制表示)加法器的工作过程(数据皆为十六进制表示)CSIP寄存寄存器组器组地址地址加法器加法器1230H00C8H相关部件提供段相关部件提供段地址和偏移地址地址和偏移地址段地址和偏移地址段地址和偏移地址送入地址加法器送入地址加法器123000C8段地址左移段地
12、址左移4位(位( 16)1230000C8 12300+ 00C8 123C8段地址段地址+偏移地址形成偏移地址形成20位物理地址位物理地址输出输出20位物理地址位物理地址123C8H地址加法器的工作过程地址加法器的工作过程段地址:段地址:16=左移左移4位(位(2进制)进制)=左移左移1位(位(16进制)进制)左移位左移位数数二进制二进制十六进制十六进制十进制十进制010B2H22201100B4H422121000B8H8222310000B10H162234100000B20H32224一个数据的二进制形式左移一个数据的二进制形式左移N位,相当于该数据乘以位,相当于该数据乘以2N加法器左
13、移加法器左移4位相当于乘以位相当于乘以24(16)七、七、“段地址段地址16+偏移地址偏移地址=物理地址物理地址”的本质含的本质含义义本质含义:本质含义:CPU在访问内存时,用一个基础地址在访问内存时,用一个基础地址(段地址(段地址 16)和一个相对于基础地址的偏移地)和一个相对于基础地址的偏移地址相加,给出了内存单元的物理地址。址相加,给出了内存单元的物理地址。八、段的概念八、段的概念段是我们为了管理内存而引入的一个虚拟段是我们为了管理内存而引入的一个虚拟的概念,我们可以将内存地址连续、起始地址的概念,我们可以将内存地址连续、起始地址为为16的倍数的一组内存单元看作一个段来管理,的倍数的一组
14、内存单元看作一个段来管理,但事实上,内存并没有被真正划分成段。但事实上,内存并没有被真正划分成段。注:注:段地址段地址 16必然是必然是16的倍数,所以一个段的倍数,所以一个段的起始地址一定是的起始地址一定是16的倍数(即:的倍数(即:XXXX0H);偏移地址为);偏移地址为16位,所以一个段位,所以一个段的长度最大为的长度最大为64KB。思考:观察下面的地址物理地址段地址偏移地址21F60H2000H1F60H2100H0F60H21F0H0060H21F6H0000H1F00H2F60HCPU可以用不同的段地址和偏移地址形成同一个物理地址。可以用不同的段地址和偏移地址形成同一个物理地址。从
15、这里可看出,分段仅仅是一个虚拟的概念。从这里可看出,分段仅仅是一个虚拟的概念。如果给定一个段地址,仅通过变化偏移地址来进行寻址,最多可定位多少内存单元?九、段寄存器九、段寄存器在CPU中提供段地址的寄存器符号符号名称名称作用作用配合寄配合寄存器存器CS代码段代码段提供(程序、指令)段地提供(程序、指令)段地址址IPDS数据段数据段用于存放数据的存储器段的起始用于存放数据的存储器段的起始地址。(包含程序使用的大部分地址。(包含程序使用的大部分数据的存储区域)数据的存储区域)SS堆栈段堆栈段定义堆栈的存储区定义堆栈的存储区SPES附加段附加段存放附加存储器段的段地址。常存放附加存储器段的段地址。常
16、用于存放数据或串操作中作目标用于存放数据或串操作中作目标数据段数据段十、十、 CS和和IPCS代码段:提供当前要执行的指令的段地址。IP指令指针寄存器:指向当前要执行的指令的偏移地址。由CS和IP分别提供一个16位的段地址和偏移地址,经地址加法器合成一个20位的物理地址,该地址为当前要执行的指令所在的位置(CS:IP)。AXBX其他其他部件部件CSIP指令缓冲器指令缓冲器执行控制器执行控制器地址加法器地址加法器输入输出输入输出控制电路控制电路2000A20009D8200080120007D820006892000500200040320003BB2000201200012320000B8CP
17、U内存内存地址地址总线总线数据数据总线总线Mov ax,0123HMov bx,0003HMov ax, bxAdd ax, bx若当前若当前CPU中的状态为:中的状态为:CS=2000,IP=00002000000020000200002000020000B8 23 01B8 23 01000100020003000320003B8 23 0120003B8 23 012000320003BB 03 000123BB 03 00000620006B9 D8000800032000801 D8000A00032000A0006AXBX其他其他部件部件CSIP指令缓冲器指令缓冲器执行控制器执行控
18、制器地址加法器地址加法器输入输出输入输出控制电路控制电路2000A20009D8200080120007D820006892000500200040320003BB2000201200012320000B8CPU内存内存地址地址总线总线数据数据总线总线Mov ax,0123HMov bx,0003HMov ax, bxAdd ax, bx(1)从)从CS:IP指向内存单元读取指令,读取的指令进入指令缓冲器;指向内存单元读取指令,读取的指令进入指令缓冲器;IP+nN=所取指令的长度。所取指令的长度。(2)IP=IP+N,从而指向下一条指令;,从而指向下一条指令;(3)执行和处理取到的指令,重复步
19、骤()执行和处理取到的指令,重复步骤(1)由由CS:IP指向指向CPU将要执行的指令所在的物理将要执行的指令所在的物理地址,取到指令后,地址,取到指令后,IP会自动增加会自动增加N指向下一条指向下一条指令所在的位置;从而使计算机能够自动连续指令所在的位置;从而使计算机能够自动连续的执行一个完整的程序。的执行一个完整的程序。十一、修改十一、修改CS、IP的指令的指令 若想同时修改CS、IP的内容,可用 jmp段地址:偏移地址段地址:偏移地址 指令例: jmp 2AE3:3 则CS=2AE3H,IP=0003H 若只修改IP的内容,可用 jmp 某一合法寄存器某一合法寄存器 指令 例: jmp AX 则执行后IP=AX注意:注意:CS和和IP不充许直接赋值。不充许直接赋值。MOV CS,1000HMOV CS,AXMOV IP,2000HA6622B8E3FFD88B0000B80123B820005H20006H20004HJmp 1000:320003H20009HMov cx, ax20008H20007H20002H20001HMov ax, 6622H20000H10009HJmp bx10008H10007HMov bx , ax10006H10005H10004HMov ax, 0000H10003H10002H10001HMov ax,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子元器件供应商配送流程协议说明(7篇)
- 小学主题班会课件:金秋感恩文明共建
- 市场营销推广经理电子商务行业绩效评定表
- 软件测试工程师测试用例编写量绩效考核表
- 财务预算编制与管理实战指南
- 林芝地区全国英语等级考试(PETS)二级仿真试题及答案解析(2025年下半年)
- 康复治疗技术三基考试题库练习题及答案
- 掘锚机维修钳工职业技能鉴定考试题及答案
- 工程电梯操作试题及答案
- 《春城花语:昆明翠湖与老街慢生活摄影及高原反应预防手册》
- 2026年及未来5年市场数据中国尼龙聚酰胺6(PA6)行业市场调研分析及投资战略规划报告
- 工程项目创新技术应用与实施方案
- 电商客服礼仪培训
- GB/T 6109.1-2025漆包圆绕组线第1部分:一般规定
- 2025年信阳固始县城区缺编学校选聘教师296人考试模拟试题及答案解析
- 防暑防汛的培训课件
- 内蒙古电力建设定额站2025年第二季度配电网设备材料编审指导价
- 全媒体运营师职业技能竞赛题(附答案)
- 车位抵账合同协议
- 医院临床医学带教老师培训
- 人教版八年级数学上册轴对称《最短路径问题》 教学课件
评论
0/150
提交评论