10-11微机原理与应用03

合集下载

微机原理及应用(陈继红、徐晨)课后习题答案

微机原理及应用(陈继红、徐晨)课后习题答案

微机原理及应⽤(陈继红、徐晨)课后习题答案微机原理及应⽤(陈继红、徐晨)课后习题答案第三章8086/8088指令系统和寻址⽅式习题答案(部分)3.1总结计算机中⼗进制、⼆进制、⼋进制及⼗六进制数的书写形式。

123D、0AFH、77Q、1001110B分别表⽰什么计数制的数?答案:123D、0AFH、77Q、1001110B分别表⽰⼗进制、⼗六进制、⼋进制、⼆进制。

3.2字长为8位、16位⼆进制数的原码、补码表⽰的最⼤数和最⼩数分别是什么?答案:8位原码表⽰的最⼤数:(27-1)、8位补码表⽰的最⼤数:(27-1)、8位原码表⽰的最⼩数:-(27-1)、8位补码表⽰的最⼩数-27。

16最⼩数:-215。

3.3答案:7DH。

(2)255(3)7248H。

(4)509013E2H。

3.4答案:240D0F0H。

128D80H。

(3)11111111⼗进制数:255D;⼗六进制数:0FFH。

(4)01010101⼗进制数:85D;⼗六进制数:55H。

3.5把下列⽆符号⼗六进制数分别转换为⼗进制数和⼆进制数。

(1)FF(2)ABCD(3)123(4)FFFF答案:(1)FF⼗进制数:255D;⼆进制数;11111111B。

1010101111001101B。

(3)123⼗进制数:291D;⼆进制数;000100100011B。

(4)FFFF⼗进制数:65535D;⼆进制数;1111111111111111B。

3.6分别⽤8位⼆进制数和16位⼆进制数写出下列⼗进制数的原码和补码。

(1)16(2)-16(3)+0(4)-0(5)127(6)-128(7)121(8)-9 答案:(1)16800010000(2)-16800010000(3)+0800000000(4)-0800000000(5)127801111111(6)-128810000000(7)1218:01111001;16位⼆进制数原码:0000000001111001补码:0000000001111001。

李伯成《微型计算机原理及应用》课后习题答案

李伯成《微型计算机原理及应用》课后习题答案

李伯成《微机原理》习题第三章3.1MOV AX,00H;立即寻址SUB AX,AX;寄存器寻址MOV AX,[BX];寄存器间接寻址MOV AX,TABLE;直接寻址MOV AL,ARAY1[SI];寄存器相对寻址MOV AX,[BX+6];寄存器相对寻址3.2若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。

程序片段如下:ORG 100hMOV CX,03FFH;数据个数LEA SI,TABLE;源区首地址LEA DI,NEXT;目的区首地址AGAIN: MOV AL,[SI];MOV [DI],AL;搬移INC SIINC DI;移动地址指针DEC CX;循环计数器递减JNZ AGAIN;循环未结束转HLT;暂停TABLE DB 1024 dup ('A');源数据区NEXT DB 1024 dup (0);目的数据区3.3编写10个字(16位二进制数)之和的程序ORG 100hLEA SI,ADD1;LEA DI,ADD2;LEA BX,SUM;MOV CL,CONT;MOV CH,0; 循环初始化CLC;进位清零MADD1: MOV AX,[SI];读加数1ADC AX,[DI]ADD SI,2;移动源区地址指针ADD DI,2;移动目的区地址指针MOV [BX],AX;回存计算结果ADD BX,2;移动“和”存储区地址指针LOOP MADD1;循环控制HLT;暂停ADD1 DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数1ADD2 DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加数2SUM DB 10 DUP (0);和存储单元CONT DB 5 ;循环次数3.4 某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS 和REMAIN中。

微机原理与应用教材

微机原理与应用教材
2)存取周期时间TM :把两个独立的存储操作之间的最短延迟时间, 定义为存取周期,它表征存储器的工作速度。常用的存取周期单位是微秒 和毫微秒级。显然,TM>TA。
存储器的速度是一个很重要的指标,当然是越快越好,但速度较快的 存储器通常功耗大,集成度低,因而成本较高,要根据系统的要求统筹考 虑。
第3章 存储器
第3章 存储器

A0

A1 A2

A3

A4

X 驱·

· ·

· ·
码 ·器
32×32=1024 存储单元
器 31
31 0
···
31
I/O电路
三态双向缓冲器
输入 控制
Y译码器
电路R/W CSFra bibliotek地址反相器
A5 A6 A7 A8 A9
图3-2 SRAM结构示意图
输出
第3章 存储器
(1)地址译码电路。地址译码器接受来自CPU的地址信号, 并产生地址译码信号,以便选中存储矩阵中某存储单元,使 其在存储器控制逻辑的控制下进行读/写操作。图5-3中把地 址划分成两组:行地址和列地址,每组地址分别译码,两组 译码输出信号共同选择某个存储单元电路。 (2)控制逻辑电路。接受来自CPU或外部电路的控制信号, 经过组合变换后,对存储、地址译码驱动电路和三态双向缓 冲器进行控制,控制对选中的单元进行读写操作。 (3)三态双向缓冲器。使系统中各存储器芯片的数据输入/ 输出端能方便地挂接到系统数据总线上。对存储器芯片进行 读写操作时,存储器芯片的数据线与系统数据总线经三态双 向缓冲器传送数据。不对存储器进行读写操作时,三态双向 缓冲器对系统数据总线呈现高阻状态,该存储芯片完全与系 统数据总线隔离。

微型计算机原理及应用第三版课后答案

微型计算机原理及应用第三版课后答案

微型计算机原理及应用第三版课后答案【篇一:《微型计算机原理及应用》课后习题答案】=txt>第一章1.1 解释题(1) 微处理器【解答】由大规模集成电路芯片构成的中央处理器(cpu),叫做微处理器。

(2) 微型计算机【解答】以微处理器为基础,配以内存储器、输入输出接口电路、总线以及相应的辅助电路而构成的计算机裸机,叫做微型计算机。

(3) 微型计算机系统【解答】微型计算机系统由硬件系统和软件系统组成。

即由微型计算机、配以相应的外部设备(如打印机、显示器、键盘、磁盘机等),再配以足够的软件而构成的系统。

(4) 单板机【解答】将微处理器、ram、rom以及i/o接口电路,再配上相应的外设(如小键盘、led显示器等)和固化在rom中的监控程序等,安装在一块印刷电路板上构成的微型计算机系统称为单板机。

(5) 运算器【解答】运算器是直接完成各种算术运算、逻辑运算的部件,主要由alu(arithmetic and logic unit,算术逻辑部件)、通用寄存器、标志寄存器等组成。

(6) 地址总线【解答】地址总线是cpu对内存或外设进行寻址时,传送内存及外设端口地址的一组信号线。

地址总线的条数多少决定了cpu的寻址能力。

(7) 数据总线【解答】数据总线是cpu与内存或外设进行信息交换时,所用的一组数据信号线。

它决定了cpu一次并行传送二进制信息的位数,反映出cpu的“字长”这个重要性能指标。

(8) 控制总线【解答】控制总线是在cpu与外部部件之间传送控制信息(如读/写命令、中断请求命令等)的一组信号线。

1-2 单片机应包括哪些基本部件?其主要应用于哪些领域?【解答】一般单片机芯片中包括微处理器、ram、rom、i/o接口电路、定时器/计数器,有的还包括a/d、d/a转换器等。

其主要应用于智能化仪器仪表及工业控制领域。

1-3 按图1-11和图1-12,写出取第二条指令操作码和执行第二条指令的过程。

【解答】1) ip的值(002h)送入地址寄存器ar;2) ip的内容自动加1,变为003h;3) ar将地址码通过地址总线送到存储器的地址译码器,经译码后选中002h单元;4) 微处理器给出读命令;5) 所选中的002h单元内容04h送上数据总线db;6) 数据总线db上的数据04h送到数据寄存器dr;7) 因是取指操作,取出的是指令操作码04h,即由dr送入指令寄存器ir;8) ir中的操作码经指令译码器id译码后,通过pla发出执行该指令的有关控制命令。

2010-2011学年 微机原理及应用》期末考

2010-2011学年 微机原理及应用》期末考

1、若单片机的晶振频率为 12MHz,试用循环转移指令编写延时 100ms 的延时子程序。 (10 分) 答:分析:一个机器周期=12 个晶振周期=1 s ,执行一条 DJNZ 指令需要 2 个机器周期, 即 2 s 。采用循环计数法实现延时,循环次数可以通过计算获得,并选择先执行后判断的 循环程序。 汇编程序如下: DEL: DEL1: DEL2:
注:本道题写出以上七种方式的任意五种就可以得满分,寄存器的类型满足要求即可, 不一定按照答案给出的那些类型。
4 / 15
四、程序阅读题(15 分) 3、 设(A)=38H,R0=28H,(28H)=18H,执行下列程序后, ( (A) )=__E7H______。 (5 分) ORL A,#27H ANL A,28H XCHD A,@R0 CPL A 2、阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(10 分) MOV R1,#30H; (R1)=___30H_____, MOV A,#64H; ((A))=___64H____, ADD A,#47H; ((A))=___ABH____,(CY)=____0____,(AC) =____0____, DA A ; ((A))=___11H____,(CY)=_____1___,(AC) =___1_____, MOV @R1,A; (R1)=____30H___,(30H)=___11H_____。 五、计算题(10 分) 若要求定时器 T0 工作方式 1, 定时时间为 1ms, 当晶振为 6MHz 时, 求送入 TH0 和 TL0 的计数器初值各为多少? 解:由于晶振为 6MHz,所以机器周期 Tcy=
诚信应考,考试作弊将带来严重后果! 华南理工大学广州汽车学院 2010----2011 学年第一学期期末考试 《微机原理及应用》试卷 B 注意事项:1. 考前请将密封线内填写清楚; 2. 所有答案请直接答在答题纸上; 3.考试形式:闭卷; 4. 本试卷共六大题,满分 100 分, 题 号 得 分 评卷人 一、填空题(每空 1 分,共 15 分) 1、MCS-51 单片机是 8 位的单片机,有 2、 INT0 和 INT1的中断标志位分别是 3、 MCS-51 内部提供 2 个可编程的 16 一 二 三 四 五

《微机原理及应用》教材课后习题参考答案

《微机原理及应用》教材课后习题参考答案

《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案第三章3-5(1)MOV SI, 2100H 源:立即数;目标:寄存器(2)MOV CX, DISP[BX] 源:基址,EA=BX+DISP,PA=DS×16+BX+DISP;目标:寄存器(3)源:寄存器;目标:寄存器间接寻址EA=SI,PA=DS×16+SI(4)源:基址加变址,EA=BX+SI,PA=DS×16+BX+SI;目标:寄存器(5)源:寄存器;目标:寄存器(6)源:基址,EA=BX+10H,PA= DS×16+BX+10H;目标:寄存器(7)源:寄存器间接,EA=BX,PA= ES×16+BX;目标:寄存器(8)源:带位移量的基址加变址,EA=BX+SI+20H,PA= DS×16+BX+SI+20H;目标:寄存器(9)源:寄存器;目标:寄存器间接,EA=BP,PA= SS×16+BP(10)源:寄存器;目标:存储器,EA=SP-2,PA= SS×16+SP-23-7(1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOV AX, [BX+SI](2)错,V ALUE1和V ALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存储器,ADD指令无此组合形式(3)错,立即数不能直接传给段寄存器(4)错,CS不能作为目标操作数(5)错,立即数不能作为目标操作数,两个操作数互换位置即可(6)如果V ALUE1是用DW定义的WORD型变量,则此题正确,否则错误(7)错,段寄存器不能直接传给段寄存器(8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOV CL, 3; ROL [BX][DI],CL(9)错,NOT操作符只有一个操作数(10)对,CS不能作为目标操作数,但可以作为源操作数(11)错,不能直接将立即数压入堆栈(12)错,两处错误,1:IN指令应该AL在前,端口地址在后;2:端口地址100H超过8位数能表示的范围,应该先将100H送给DX,改成MOV DX, 100H; IN AL, DX(13)错,LEA指令的第二操作数必需为存储器寻址方式(14)错,CX不能作为寄存器间接寻址方式,应将CX改成BX/BP/SI/DI之一3-8(1)AX=3355H, SP=1FFEH(2)AX=3355H, DX=4466H, SP=1FFCH3-9 BX=4154H, [2F246H]=6F30H3-10 BX=139EH3-11 SI=0180H, DS=2000H3-12(1) CL=F6H(2) [1E4F6H]=5678H(3) BX=9226H, AX=1E40H(4) SI=9226H, [SI]=[1E4F6]=0024H(5) AX=5678H, [09226H]=1234H3-13 AF=0, CF=1, OF=1, SF=0, ZF=03-14(1) MOV AX, 0 XOR AX, AX SUB AX, AX(2) MOV CL, 4ROL BL,CL (或ROR BL, CL)(3) 题中没规定N1和N2是8位还是16位数,现假定都8位数(也可假定是16位数,程序不一样)MOV AH, 0MOV AL, N1IDIV N2MOV M1, ALMOV M2, AH(4) 题目的意思即使BX的b4,b6,b11位清零AND BX, 0F7AFH(5) XOR AX, 4020H(6) TEST DX, 0201H(7) TEST CL, 1JNZ NEXTINC CL (或DEC CL)NEXT:3-15 假设题目的意思理解为编号从1开始(1) LEA BX, BLOCK+(6-1)*2MOV AX, [BX](2) LEA BX, BLOCKMOV AX, 10[BX](3) LEA BX, BLOCKMOV SI, 0MOV AX, 10[BX][SI](4) MOV AX, BLOCK+103-16(1) 结果存在地址是580H端口中,[580H]=60H(2) 结果存在地址是580H端口中,[580H]=8060H(即[580H]=60H, [581H]=80H)(3) 结果存在AL中,AL=[40H]=4FH(4) 结果存在AX中,AL=[40H]=4FH, AH=[41H](题目中没有给出端口41H中的值)(5) 结果存在地址是45H端口中,[45H]=60H(6) 结果存在地址是45H端口中,[45H]=8060H(即[45H]=60H,[46H]=80H)3-17 假定每小题中NUM1和NUM2都是和题中指定的操作数等长,即(1)中NUM1和NUM2为字变量,(2)(3)中为字节变量,(4)中为双字变量(1) MOV AX, NUM2ADD NUM1, AX(2) MOV CX, 4LEA BX, NUM1XOR AL, AL ; AL清零L1: ADD AL, [BX]INC BXLOOP L1MOV RES, AL(3) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]JNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(4) MOV AX, WORD PTR NUM1ADD WORD PTR NUM2, AXMOV AX, WORD PTR NUM1+1ADC WORD PTR NUM2+1, AX ; (MOV指令不影响CF标志位,否则不能这么写) 3-18(1) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]DAAJNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(2) MOV AL, NUM1SUB AL, NUM2DASMOV RES, AL差=90H, CF=13-19(1) MOV AL, NUM1MUL NUM2 ; 8位乘8位MOV WORD PTR RES, AX(2) MOV AX, NUM1IMUL NUM2 ;16位乘16位MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX(3)MOV AL, NUM1MOV BL, 46CBWDIV BLMOV WORD PTR RES, AX(4) MOV AX, NUM1CWDIDIV NUM2 (或DIV NUM2)MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX3-20(1)53乘以2MOV AL, 53SHL AL, 1结果106(2) -49乘以2MOV AL, -49 ; -49补码为CFHSHL AL, 1 ;AL=9EH, 真值即为-98结果-98除以2类似3-21(1) BX=009AH(2) BX=15CH(3) BX=8071H(4) BX=10F7H(5) BX=FF1CH3-22(1) DX=[20506]=0006H BX=0004H(2) SP=1FFEH, [SP]=CX=FFFEH(3) CX=BX=0004H(4) AX=8094H, CF=0(5) AL=[20508H]=87H(6) AL=94H+37H+1=CCH, CF=0, AL=32H(7) SI=9(8) DI=9(9) [DI]=[2050A]=AL=94H(10) AX=17C6H, DX=8094H(11) AH=84H, BL=4(12) IP=DX=17C6H3-23(1) 将存储器中以FIRST为起始地址连续10个字节复制到以SECOND为起始地址的地方(2) 将存储器中数据段中以偏移地址0404H为起始地址,连续80H个字节的空间清零3-24MOV BX, 5MUL BXMOV BX, 2DIV BX3-26 MOV BX, 0A80HMOV AL, 5XLAT3-27(1) IP=1256(2) IP=3280H(3) IP=2450H3-28 IP=009A, CS=2000, [SP]=8F, [SP+1]=3DH, [SP+2]=50H, [SP+3]=40H3-29CMP AL, 1JNZ LAB1CMP AL, 2JNZ LAB2CMP AL,4JNZ LAB3最后一个条件(若位0至位2都是0,则顺序执行),相当于没有,因为不管符不符合这个条件,程序都会按顺序执行。

2 微机原理及应用 第三版 课后答案 (晏寄夫 著) 西南交通大学出版社


1.9、 设机器字长为 8 位,最高位为符号位,用双高位法判别下述各二进制运算是否产生溢出,并说明是正溢 出还是负溢出。 (1) 43+8; (2)-52+7; (3)50+84; (4)72-8; (5) ( - 33)+(-47); (6) ( - 90)+(-75); (7)-127+60 [解] (1) 43+8 [43]补→ 00101011B +) [ 8]补→00001000B 00110011B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 (4) 72-8 [72]补→ 01001000B +) [-8]补→11111000B 1┇ 11000000B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (2)-52+7 [-52]补→11001100B +) [7]补→ 00000111B 11010011B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 (5)-33+(-47) [-33]补→ 11001100B +) [-47]补→ 11010001B 1┇ 10110000B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (3)50+84 [50]补→ 00110010B 10000110B Cs=0,Cp=1 V=Cs⊕Cp=1 有溢出,正溢出 (6)(-90)+(-75) [-90]补→ 10100110B +) [-75]补→ 10110101B 1┇ 11011011B Cs=1,Cp=0 V=Cs⊕Cp=1 有溢出,负溢出 +) [84]补→ 01010100B
若侵犯了您的版权利益,敬请来信通知我们! ℡
(7)-127+60 [-127]补→ 10000001B +) [60]补→ 00111100B 10111101B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 1.10、 a,b 均为用十六进制形式表示的 8 位带符号数补码,按下列给定的 a,b 之值进行 a+b 和 a-b 的 运 算 , 并用双高位法判断是否产生溢出: (1) a=37, b=57; (2)a=0B7H, b=0D7H; (3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H [解] (1) a=37, b=57 a+b [37]补→ 00100101B +) [57]补→ 00111001B 01011110B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 (2)a=0B7H, b=0D7H a+b 10110111B +) 11010111B 1┇10001110B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (3)a=0F7H, b=0D7H a+b 11110111B +) 11010111B 1┇11001110B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (4)a=37H, b=0C7H a+b 00110111B +) 11000111B 11111110B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 +) a-b 00110111B 00111001B 01110000B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出

微机原理及应用第三版课后答案晏寄夫著西南交通大学出版社


+) [60]补→ 00111100B 10111101B
Cs=0,Cp=0
V=Cs⊕Cp 位带符号数补码,按下列给定的 a,b 之值进行 a+b 和 a-b 的 运 算 ,
并用双高位法判断是否产生溢出:
(1) a=37, b=57; (2)a=0B7H, b=0D7H; (3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H
[解] (1)a+b=0011 0010B + 0100 1010B=01111100B
(2) a+c=0011 0010B + 1110 1001B=00011011B
(3) c+b=1110 1001B + 0100 1010B=00110011B
(4) c+d=1110 1001B + 1011 1010B=10100011B
无溢出
无溢出
(2)a=0B7H, b=0D7H
a+b
a-b
10110111B
10110111B
+) 11010111B
+) 00101001B
1┇10001110B
11100000B
Cs=1,Cp=1
Cs=0,Cp=0
V=Cs⊕Cp=0
V=Cs⊕Cp=0
无溢出
无溢出
(3)a=0F7H, b=0D7H
[解] (1) a=37, b=57
a+b
a-b
[37]补→ 00100101B +) [57]补→ 00111001B
[37]补→ 00100101B +) [-57]补→ 11000111B
01011110B
11101011B

微机原理及应用参考答案

参考答案第一章计算机中的数制和码制第二章计算机概述一、填空题1.82. 23.10244.25.5、11001.1、.0101B5.B、42H、66H6.41.625、29.AH7. B8.、9.-128 ~ +12710.系统软件、应用软件11.电子管、超大规模集成电路二、单选题1. A 2. C 3. D4. C 5. A 6. C三、分析简答题1.8086 CPU的总线根据其中信息传送的类型可分为几种?哪几种?答:8086 CPU的总线根据其中信息传送的类型可分为三种种,分别是:数据总线、地址总线和控制总线2.写出-25的原码、反码、补码,并将补码转换成十六进制数(设机器字长为8位)。

答:X=-25=-11001BX原码:BX反码:BX补码:B = E7H3.举例说明什么是机器数,什么是真值?答:将符号数值化了的数称为机器数。

如:-18=-10010B(真值);机器数为:B第三章半导体存贮器一、填空题1.ROM、RAM2.6个3.8、4二、单选题1. A 2. B 3. D 4. B5. C 6. C 7. B三、分析简答题1.在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?答:①全译码方式:存储器芯片中的每一个存储单元对应一个唯一的地址。

译码需要的器件多;②部分译码方式:存储器芯片中的一个存储单元有多个地址。

译码简单;③线选:存储器芯片中的一个存储单元有多个地址。

地址有可能不连续。

不需要译码。

四、硬件接口设计题1.答:(1)(2) 存储器类型为RAM 总容量为4K×8地址范围: 0#2000H-27FFH1# 2800H-2FFFH2.答:(9分)(1)存储器类型:RAM该系统的存储器容量为:6K×8位(或:6K字节)(2)1#芯片的地址范围:1000H ~ 17FFH2#芯片的地址范围:0800H ~ 0FFFH3#芯片的地址范围:0000H ~ 07FFH3.1)1K×42)2K×8或2KB3)地址分配范围第一组:A19~ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0最小地址0 ~ 0 0 0 0 0 0 0 0 0 0 0 00000H~ 最大地址0 ~ 0 1 1 1 1 1 1 1 1 1 1 003FFH 第二组:0 ~ 1 0 0 0 0 0 0 0 0 0 0 00400H~0 ~ 1 1 1 1 1 1 1 1 1 1 1 007FFH《微机原理及应用》第 3 页共24 页第四章微型计算机及微处理器的结构和组成一、填空题1.BIU、EU、指令的译码和指令执行2.4、16、16、6、203.8、164.1、2二、单选题1. B 2. B三、分析简答题1.8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。

微机原理及应用(第五版)PPT课件

压缩BCD码占80位,即10个字节.能存储20位 BCD数,但在80387中只用了18位BCD数.余下 1个字节的最高位为符号位.其余7位不用.
7位不用
最高位是符号位
2021
微机原理及应26用
1.2.3 实型数
任何一个二进制数可以表示成: N=+Y×2J 称为浮点表示法
80387规定: 指数采用移码表示。短型实数阶码占8位;长型实数
• 80386对字符串的操作有:移动;传送; 比较;查找等.
• 分类:字节串;字串;双字串.
2021
微机原理及应22用
1.1.5 位及位串
• 80x86CPU都支持位操作.80386/80486有位串操 作.位串最长是232个位.
• 位偏移量:一个位在位串中的地址.由字节地址 和位余数组成.
设位串是从m地址开始存储的,位偏移量分别为23 和-18的位在什么地方?

11110010B
左移一位 11100100B
右移一位 11111001B
[-14]补 [-28]补 [-7]补
2021
微机原理及应19用
3).反码表示的负数
左移和右移空位全补1.

11110001B
左移一位 11100011B
右移一位 11111000B
7.有关0的问题
[-14]补 [-28]补 [-7]补
• 二进制:数的后面加后缀B. • 十进制:数的后面加后缀D或不加. • 十六进制:数的后面加后缀H.
2021
微机原理及应5用
1.1.3 整数
1.无符号数
8、16、32位全部用来表示数值本身。
最低位LSB是0位,最高位MSB是7、15、31。
2.带符号整数
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地址。分段地址由一个段值和一个有效的地址偏 移值组合而成, 其表示方式为: • 段值:偏移量(均以十六进制形式表示)
CPU内部
偏移4位
段值
(CS,DS, ES,SS)
逻辑地址 偏移量16位
(由程序给出)
物理地址
实方式下物理地址的形成
1BA4:204E 1BA40 + 204E
1DA8E
小结

CPU内部
(CS,DS, ES,SS) 段寄存器: 32位偏移量
如何得到?
段基地址 (32位) 线性地址
段 值 (16位)
逻辑地址 (虚拟地址) 偏移量 (32位)


虚拟地址:
保护方式下的逻辑地址(其中:段值为段选择器, 用于确定段描述符在段描述符表中的位置以及特权 级别);


线性地址:
通过逻辑地址计算得到的地址,线性地址空间大小 与物理地址空间大小相等,但其中地址单元并不一 定一一对应(8086:1MB;80386:4GB);
示意图
主存空间1M(=220)个字节存储单元 物理地址范围:00000H~FFFFFH 程序设计时分段管理,但有两个限制:


每个逻辑段最大为64KB 逻辑段只能开始于低4位地址全为0的物理地址处
16位段寄存器保存20位段起始物理地址的高16位 偏移地址也用16位数据表示

逻辑地址=段地址∶偏移地址
DATA B
任务 A
任务 B
描述符表寄存器——确定表位置
全局描述符表寄存器 (GDTR)
基地址 限量
80286-24位 80386/80486-32位
16位
局部描述符表寄存器(LDTR)
选择器 基地址 限量
16位
80286-24位 80386/80486-32位
16位
基址 0 1 2 3
GDT
边界
保护方式下的类似实方式的运行环境 在1MB存储空间下使用“16位段”
32位段

虚拟方式

A31,A31,A30,………A2,A1,A0 =×××………×××
地址总线
数据总线 控制总线
物理地址

不同CUP的物理地址空间 8088/8086:具有 20 位地址总线,可寻址 1 MB的 物理地址空间; 80286: 具有24 位地址总线,可以寻址16MB物理 有限的空间,无限的需求 地址空间;
粒度位设置成字节粒状,则限量以字节为单位, 得段的尺寸为1 B~1 MB; 粒度位设置成页粒状,则限量以页为单位,一页 为4 KB,故段的尺寸为4 KB~4 GB; 当采用页粒状时,有效地址偏移量的最低12位不 必检查。若粒度设置为页,段限量设置为00000H, 则该段的有效地址偏移量为0~FFFH (4095)。


物理地址=段地址×16+偏移地址
保护方式存储器管理(386以上)
分段管理
线性地址空间
数据 任务 (代码、数据、堆栈) 堆栈 代码
控制寄存器
CR0的第0位PE: 0——实模式;1——保护模式
标志寄存器
从实模式到保护模式 EFLAGS的第17位VM: 首先将PE置位为1 1——虚拟8086模式


段寄存器及段描述符寄存器
存储器的分页管理
线性空间中的任何 一页都可以映射成 为物理空间中的一页
线性空间 分为大小 相等的块 (页) 物理空间 分为大小 相等的块 (页)
线性地址空间
物理地址空间
控制寄存器
CR0的位PG: 0——禁止分页;1——启动分页
启动页管理方式 需将PG置位为1
页目录表和页表
虚拟地址 描述符A 线性地址 BASE A+LIMT A BASE B 线性地址 BASE B+LIMT B BASE C BASE C+LIMT C BASE A


描述符B 描述符C 虚拟地址

存储在存储器中的数据结构(表),长度 不定; 表中每一项(段描述符)对应于线性地址 空间中一个段 段描述符提供段基地址从而将虚拟地址转 换成为线性地址(确定了一种转换函数)。
• P位:该位为存在位
•P=1:该项里的页地址映射到物理存储器中的一个页;
•P=0,表示该项里的页地址没有映射到物理存储器中,或
说该项所指页不在物理存储器中。
• R/W位: R/W位为读/写位
用于实现页级保护,它不涉及到地址转换。
• A位: A位为访问位,用来表明该项指出的页是 否已被读或写。 • 目录项中A=1,则表示该项所指出的页表已被访 问过。 若页表项中A=1, 则表示该页表项所指出存 储器中的页已被访问过; • A位的置位由处理器完成, A位的状态可供操作 系统软件测试,以便计算不同页的使用频度。



应用程序可访问 80386:具有32 位地址总线,可以寻址4GB物理地 址空间; 的空间在理论上 可为4TB!
总述

在386以上CPU中,有两种存储器管理方式,一种
称为实地址方式或实方式,另一种称为保护方式;


当计算机加电启动时工作在实地址方式;
在实地址方式下,地址线仍使用20位,所以最大寻
统能够对应用程序实现虚拟存储器的功能。
• D位为缺省操作尺寸位,不用于地址生成 • 当D=0时,表示操作数和有效地址的缺省值是16位, 这样的代码段也称为16位代码段;
• 当D=1时,表示操作数和有效地址的缺省值为32
位,这样的代码段也称为32位代码段。当一条单指 令具有超越前缀时, 可以超越该位设置。
线性地址25674890H
31 0010 0101 01 目录索引 (10位) 22 21 12 10 0111 0100 页表索引 (10位) 11 0
1000 1001 0000 偏移量 (12位)
31
22 21 目录索引域 表索引域
12 11 偏移量
0
线性地址
×4
页目录

逻辑地址:程序中所使用的地址; 物理地址:处理器访问存储器使用的地址; 逻辑地址结构:“段值:偏移量”(均以省略后缀 H的十六进制形式表示) 逻辑地址的形成:将段值装入相应的段寄存器 (CS、DS、ES、SS、FS、GS),同时提供偏 移量。





实方式存储器管理
微处理器运行在实方式时,逻辑地址称为分段
址空间为1MB,以便与8086兼容。

保护方式采用32位物理地址,寻址范围可达4GB。
本次课的主要内容

实方式和保护方式的概念; CPU存储器管理中各类地址概念; 存储器分段管理; 存储器分页管理。



CPU的地址转换

序 逻辑 地址
CPU 物理 地址
存储器
存储器管理部件(Memory Management Unit,MMU) 将由处理器发出的逻辑地址转 换为存储器的物理地址。

线性地址计算方法: 线性地址=段基地址+偏移量;


线性地址空间大小=物理地址空间大小 80286线性地址=物理地址, 80386,80486线性地址(在不分页的情况下) =物理地址;

….

序 逻辑 地址
分段部件 MMU
线性 地址
线性地 址空间
……
段基地址的获得——段描述符表
线性地址空间 段描述符表
•用来实现保护而不用于地址生成。
15
14 13 12 11 10
9
8
7 G
6 D
5 0
4 AVL
3
2 1
0
基地址(24-31)
P DPL
段限量
(16~19)
6
类 型
DT
基地址(16-23)
4
基地址(0-15)
2
段限量(0-15)
0
• P位:存在位
• 用来表示描述符存在于存储器中(P=1)或不存
在于存储器中(P=0) 。因而该位的设置使操作系
15 3 2 1 0


TI
RPL
TI=0
第一个项目不用空 描述符


虚拟内存空间最大可达: 214 × 232 =246 =64TB
TI=1
局部描述 符表
全局描述 符表

RPL( Requestor Privilege Level)保存在 选择子的最低两位。 RPL说明的是进程对段访问的请求权限, 意思是当前进程想要的请求权限; RPL的值由程序员自己来自由的设置,并 不一定(00最高,11最低)。



15
14 13 12 11 10
9
8
7 G
6 D
5 0
4 AVL
3
2 1
0
基地址(24-31)
P DPL
段限量
(16~19)
6
类 型
DT
基地址(16-23)
4
基地址(0-15)
2
段限量(0-15)
0
段描述符格式 :8字节

段类型

代码段 (ST=1) 1 C R A 访问(1=yes) 可读(1=yes) 一致性(1=yes) 数据段 (ST=0) 0 E W A 访问(1=yes) 可写(1=yes) 向下扩展(1=yes) (对于正常数据段E=0)
最大 8191 31 0 15 0
GDTR
选择器值
15 0 0 1 2 3
GDT
基址
0 1 2 3
LDT
LDTR
段基址, 段限量
LDT描述符
系统初始化时
最大 8191
相关文档
最新文档