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

微机原理及应⽤(陈继红、徐晨)课后习题答案微机原理及应⽤(陈继红、徐晨)课后习题答案第三章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。
《微机原理与接口技术》课后习题答案

《微机原理与接⼝技术》课后习题答案第⼀章1.在计算机中为什么使⽤⼆进制数存储数据⽽不使⽤⼗进制数存储数据?答:计算机是由⼤量的电⼦器件组成的,在这些电⼦器件中,电路的通和断、电位的⾼和低,⽤两个数字符号“1”和“0”分别表⽰容易实现。
同时⼆进制的运算法则也很简单,因此,在计算机内部通常⽤⼆进制代码来作为内部存储、传输和处理数据。
2.完成下列数制之间的转换。
(1)01011100B=92D (2)0.10110011B=0.41D(3)135D=1111101B (4)99.4375D=1100011.0111B3.组合型BCD码和⾮组合型BCD码有什么区别?写出⼗进制数254的组合型BCD数和⾮组合型BCD数答:1)BCD码是通常的8421码,它⽤4个⼆进制位表⽰⼀个⼗进制位,⼀个字节可以表⽰两个⼗进制位,即00~992)⾮组合BCD码⽤8个⼆进制位表⽰⼀个⼗进制位,实际上只是⽤低4个⼆进制位表⽰⼀个⼗进制位0~9,⾼4位任意,但通常默认为03)254(10)=0010 0101 0100(BCD)254(10)=00100101 00000100(BCD)4.ASCII码的编码⽅法是什么?写出⼗进制数205和字符串A+B=C的ASCII码。
答:1)ASCII码的编码⽅法是使⽤7 位⼆进制数来表⽰所有的⼤写和⼩写字母,数字0 到9、标点符号,以及在美式英语中使⽤的特殊控制字符2)⼗进制205的ASCII码是:011 000 1013)字符串A+B=C的ASCII码是:412B423D435.机器数与真值有什么区别?机器数有哪些特点?答:1)真值是所表⽰的数的⼤⼩,⼀般⽤⼗进制表征。
机器数原码,补码,反码都是机器数⼀种表现形式,或说都属于机器数2)机器数的特点:⼀:数的符号数值化。
实⽤的数据有正数和负数,由于计算机内部的硬件只能表⽰两种物理状态(⽤0和1表⽰),因此实⽤数据的正号“+”或负号“-”,在机器⾥就⽤⼀位⼆进制的0或1来区别。
微机原理课后习题答案

微机原理课后习题答案第3章 80X86指令系统习题与思考题1. 指出下列各指令中源操作数和⽬的操作数的寻址⽅式:⑴ MOV BX,WORD PTR[2200H] ⑵ AAA⑶ JUM 2200H ⑷ LES DI,[2100H]⑸ MOV [BX+SI+8], BX解答⑴ MOV BX, WORD PTR[2200H]源操作数:直接寻址;⽬的操作数:寄存器寻址⑵ AAA源操作数:寄存器寻址AL(也称隐含寻址);⽬的操作数:寄存器寻址⑶ JUM 2200H程序转移段内直接寻址⽅式⑷ LES DI,[2100H]源操作数:直接寻址;⽬的操作数:寄存器寻址⑸ MOV [BX+SI+8], BX源操作数:寄存器寻址;⽬的操作数:基址加变址寻址2. 若AX=0ABCDH,BX=7F8FH,CF=1。
求分别执⾏8086 CPU指令⑴ ADD AX,BX ⑵ ADC AX,BX⑶ SBB AX,BX ⑷ NEG AX⑸ AND AX,BX ⑹ OR AX,BX⑺ XOR AX, BX ⑻ IMUL BL后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。
解答⑴ AX=2B5CH, SZAPCO=001110B⑵ AX=2B5DH, SZAPCO=001010B⑶ AX=2C3DH, SZAPCO=001001B⑷ AX=5433H, SZAPCO=001110B⑸ AX=2B8DH, SZAPCO=00X100B⑹ AX=FFCFH, SZAPCO=10X100B⑺ AX=D222H, SZAPCO=10X100B⑻ AX=3283H, SZAPCO=XXXX11B3. 若AL=78H,BL=87H,DAA之后,AL=?、标志AF=?、CF=?⑵若执⾏指令 SUB AL,BL与DAS后,AL=?、标志AF=?、CF=?解答⑴ AL=65H, AF=1, CF=1。
⑵ AL=91H, AF=0, CF=1。
《微机原理及应用》教材课后习题参考答案

《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,则顺序执行),相当于没有,因为不管符不符合这个条件,程序都会按顺序执行。
微机原理课后习题答案

微机原理课后习题答案1.下列数中最⼩的数是 C 。
A.(100101)2B.(50)8C.(00100010)BCD D.(625)16●2.(26)16∨(63)16∧(255)10的⼗进制值为 103 。
●3.指令格式是指⽤⼆进制表⽰的结构形式,通常有操作码字段和操作数字段。
● 4.(548)10转换成为●⼆进制数:1000100100B●⼗六进制数:224H● 5.找出下列指令中不合法的原因:●MOV 64H , CL ;错在⽴即数64H作⽬标操作数。
●MOV CL , 100H ;和(3)错在源操作数均操出了字节范围。
●MOV CL , 256●MOV SS , 6180H ;错在⽴即数直接传送给段寄存器。
●MOV DS , SS ;错在两个段寄存器之间操作。
●①寄存器操作不包括IP;●②不允许对CS操作;●③⽬的操作数不能是⽴即数;●④⽴即数不能直接送段寄存器,需要通过其它寄存器传送;●⑤源、⽬的操作数,数据类型必须相同;●⑥不允许两个存储单元间直接传输数据,要通过寄存器;●⑦源、⽬的的操作数不能同时为段寄存器。
●6.计算机操作的最⼩时间单位是 A 。
●A.时钟周期 B.指令周期●C.CPU周期 D.微指令周期●7.判断两个⽆符号数的⼤⼩,常⽤到标志位 A 。
● A. CF B.SF C.OF D. ZF●8. ⼗进制数-127的补码是 C 。
● A. 11111111H B. 00000001H● C. 10000001H D.10000000H●9.计算机中判断两个数是否相等,常⽤到标志位 D 。
● A. CF B.SF C.OF D. ZF●10.OR AL,FFH ;指令执⾏后AL内容为 A 。
● A. FFH B.0FFH+AL●C. AL D.00H●11. 指令MOV AX,〔SI〕的⽬的操作数和源操作数的寻址⽅式分别是 D 。
● A. 寄存器和寄存器● B. 寄存器和寄存器间接寻址● C. 寄存器和存储器● D. 寄存器和寄存器变址寻址●12.带符号数-86 在微机中所表⽰的⼆进制数值是 A 。
第五章微机原理课后习题参考答案

习题五一. 思考题⒈半导体存储器主要分为哪几类?简述它们的用途和区别。
答:按照存取方式分,半导体存储器主要分为随机存取存储器RAM(包括静态RAM和动态RAM)和只读存储器ROM(包括掩膜只读存储器,可编程只读存储器,可擦除只读存储器和电可擦除只读存储器)。
RAM在程序执行过程中,能够通过指令随机地对其中每个存储单元进行读\写操作。
一般来说,RAM中存储的信息在断电后会丢失,是一种易失性存储器;但目前也有一些RAM 芯片,由于内部带有电池,断电后信息不会丢失,具有非易失性。
RAM的用途主要是用来存放原始数据,中间结果或程序,与CPU或外部设备交换信息。
而ROM在微机系统运行过程中,只能对其进行读操作,不能随机地进行写操作。
断电后ROM中的信息不会消失,具有非易失性。
ROM通常用来存放相对固定不变的程序、汉字字型库、字符及图形符号等。
根据制造工艺的不同,随机读写存储器RAM主要有双极型和MOS型两类。
双极型存储器具有存取速度快、集成度较低、功耗较大、成本较高等特点,适用于对速度要求较高的高速缓冲存储器;MOS型存储器具有集成度高、功耗低、价格便宜等特点,适用于内存储器。
⒉存储芯片结构由哪几部分组成?简述各部分的主要功能。
答:存储芯片通常由存储体、地址寄存器、地址译码器、数据寄存器、读\写驱动电路及控制电路等部分组成。
存储体是存储器芯片的核心,它由多个基本存储单元组成,每个基本存储单元可存储一位二进制信息,具有0和1两种状态。
每个存储单元有一个唯一的地址,供CPU访问。
地址寄存器用来存放CPU访问的存储单元地址,该地址经地址译码器译码后选中芯片内某个指定的存储单元。
通常在微机中,访问地址由地址锁存器提供,存储单元地址由地址锁存器输出后,经地址总线送到存储器芯片内直接进行译码。
地址译码器的作用就是用来接收CPU送来的地址信号并对它进行存储芯片内部的“译码”,选择与此地址相对应的存储单元,以便对该单元进行读\写操作。
微机原理及接口技术课后习题及参考答案

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=.11B=43.6Q=23.CH③ 123.875D=.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=.B=494.109D ② 63.73Q=.B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=.B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补= ② [-1]补=③ [-0]补= ④[-128]补=1.6 ① [+355]补= 00011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。
微机原理课后习题解答

微机原理习题第一章绪论习题与答案1.把下列二进制数转换成十进制数、十六进制数及BCD码形式。
(1) 10110010B =(2) 01011101.101B =解:(1) 10110010B = 178D = B2H = (0001 0111 1000)BCD(2) 01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2.把下列十进制数转换成二进制数。
(1) 100D =(2) 1000D =(3) 67.21D =解:(1)100D = 01100100B(2)1000D = 1111101000B(3) 67.21D = 1000011.0011B3.把下列十六进制数转换成十进制数、二进制数。
(1) 2B5H =(2) 4CD.A5H =解:(1) 2B5H = 693D = 0010 1011 0101B(2) 4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B4.计算下列各式。
(1) A7H+B8H =(2) E4H-A6H =解:(1) A7H+B8H = 15FH(2) E4H-A6H = 3EH5.写出下列十进制数的原码、反码和补码。
(1) +89(2) -37解:(1) [+89 ] 原码、反码和补码为: 01011001B(2) [-37] 原码 = 10100101 B[-37] 反码 = 11011010 B[-37] 补码 = 11011011 B6.求下列用二进制补码表示的十进制数(1)(01001101)补 =(2)(10110101)补 =解:(1)(01001101)补 = 77D(2)(10110101)补 = -75D7.请用8位二进制数写出下列字符带奇校验的ASCII码。
(1)C: 1000011(2)O: 1001111(3)M: 1001101(4)P: 1010000解:(1)C:0 1000011(2)O: 0 1001111(3)M:1 1001101(4)P: 1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理课后习题答案2.1 8086 CPU 在内部结构上由哪几部分组成?其功能是什么?【答】8086 的内部结构-成两部分:总线接口部件BIU,负责控制存储器读写。
执行部件EU,EU 从指令队列中取出指令并执行。
8086 是16 位微处理器,有16 根数据线、20 根地址线,内部寄存器、运算部件以及内部操作都是按16 位设计的。
2.2 8086 的总线接口部件有那几部分组成?【答】8086 的总线接口部件主要由下面几部分组成:4 个段寄存器CS/DS/ES/SS, 一个16 位的指令指针寄存器IP, 一个20 位地址加法器, 6 字节的指令队列,内部暂存器以及输入输出电路组成.2.3 8086 的执行部件有什么功能?由那几部分组成?【答】8086 的执行部件主要由下面几部分组成:(1)四个16 位通用寄存器AX、BX、CX、DX, 通用四个16 位专用寄存器,包括二个指针寄存器SP、BP, 二个变址寄存器SI、DI, 算术逻辑单元ALU,标志寄存器。
2.4 8086CPU 状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086 的状态标志和控制标志分别有哪些?【答】标志分两类:状态标志(6 位):反映刚刚完成的操作结果情况。
控制标志(3 位):在某些指令操作中起控制作用。
2.5 8086/8088 和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU 执行转移指令时,指令队列寄存器内容如何变化?【答】传统的计算机一般按照取指令、指令译码/执行指令的步骤工作。
在8086/8088 中,指令的提取与执行分别由总线接口部件BIU 与执行部件EU 完成,8086/8088 可以在取指令同时又可以执行指令,这种并行工作方式有力的提高了CPU 的工作效率。
2.6 将两数相加,即0100 1100 加0110 0101,CF、PF、AF、ZF、SF、OF 各为何值?【答】0100 1100+0110 0101=10110001CF=0,PF=1,AF=1,ZF=0,SF=1,OF=12.7 存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有20 位地址线的CPU,其最大物理地址为多少?【答】存储器的逻辑地址由段地址与段内偏移地址组成。
存储器的物理地址:将16 位段地址左移4 位后加上16 位段内偏移地址,形成20 位物理地址。
一个具有20 位地址线的CPU,其最大物理地址为=1MB。
32.8 现有6 个字节的数据分别为11H,22H,33H,44H,55H,66H,已知它们在存储器中的物理地址为400A5H~400AAH.若当前(DS)= 4002H,请说明它们的偏移地址值。
如果要从存储器中读出这些数据,需要访问几次存储器,各读出哪些数据?【答】由于:物理地址=400A5H=段地址*16+偏移地址=40020H+偏移地址偏移地址=400A5+40020=85H从奇地址400A5H 中读出:11H;从偶地址400A6H 读出一个字:22H,33H;从偶地址400A8H 读出一个字:44H,55H;从偶地址400AAH 中读出:66H。
共读4 次。
2.9 已知当前数据段中存有如下图所示的数据,现要求将最后两个字节改成ODH,OAH,请说明需给出的段基值和偏移地址值,并说明其写入过程。
【答】数据段段地址=150AH,偏移地址=0004H。
CPU 的总线接口部件根据数据段寄存器的内容150AH,左移4 位,在加上偏移地址0004H,形成20 位物理地址150A4H,由总线接口送出,选中物理存储单元150A4H、150A5H,数据0DH 通过数据总线送入150A4H,数据0AH 通过数据总线送入150A4H。
2.10 在8088/8086 中,逻辑地址FFFF∶0001, 00A2∶37F 和B800∶173F 的物理地址分别是多少?2.11 在8088/8086 中,从物理地址388H 开始顺序存放下列三个双字节的数据,651AH, D761H 和007BH,请问物理地址388H, 389H, 38AH, 38BH, 38CH 和38DH 6 个单元中分别是什么数据?2.12 8086/8088 内部有哪些通用寄存器?2.13 8086/8088 内部有几个段寄存器,阐述各段寄存器的用途?2.14 8086CPU 的形成三大总线时,为什么要对部分地址线进行锁存?用什么信号控制锁存?【答】为了确保CPU 对存储器和I/O 端口的正常读/写操作,要求地址和数据同时出现在地址总线和数据总线上。
而在8086CPU 中AD0--AD15 总线是地址/数据复用的,因此需在总线周期的前一部分传送出地址信息,并存于锁存器中,而用后一部分周期传送数据。
8086CPU 中是通过CPU 送出的ALE 高电平信号来控制锁存的。
2.15 段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为多少?指向这一物理地址的CS 值和IP 值是唯一的吗?【答】此时,指令的物理地址为16000H;这一物理地址的CS 值和IP 值不是唯一的,例如:CS=1000H,IP=6000H。
(2. 80386CPU-选择教学内容)2.14 80386 最重要的技术特点是什么?【答】①速度大大提高:时钟达12MHZ/16MHZ,②寻址空间大大扩展:4GB 物理空间,64GB 虚拟空间,③除了保持80286 的实地址方式和保护方式外,增加了虚拟8086 方式④80386设置了转换检测缓冲器,大大加快了存储器访问速度。
2.15 虚拟8086 方式有什么特色?为什么要设置这种方式?【答】①可以执行8086 的应用程序。
②段寄存器的用法和实地址方式时一样,即段寄存器内容左移4 位加上偏移量为线性地址。
③存储器寻址空间为一兆字节,然而可以使用分业方式,将一兆字节分为256 个业面,每页4K 字节。
在80386 多任务系统中,可以其中一个或几个任4务使用虚拟8086 方式。
此时,一个任务使用的全部页面可以定位于某个物理地址空间,另一个任务的页面可以定位于其他区域,即每个虚拟8086 方式下的任务可以转换到物理存储器的不同位置,这样,把存储器虚拟化了,虚拟8086 方式的名称正是由此而来。
④虚拟8086 方式中,程序在最低特权级上运行,因此,80386 指令系统中的一些特权指令不能使用。
虚拟8086 方式是80386 中很重要的设计特点,他可以使大量的8086 软件有效的与80386 保护方式下的软件并发运行。
2.16 80386 的实地址方式用于什么时候?为什么说它是为建立保护方式作准备的方式?实地址工作方式有什么特点?【答】80386 的实地址方式用于为80386 进行初始化用的。
常常在实地址方式,为80386 保护方式所需要的数据结构做好各种配置和准备,因此,这是一种为建立保护方式作准备的方式。
实地址工作方式的特点:1、寻址机构、存储器管理、中断处理机构均和80386 一样。
2、操作数默认长度为16 位,但允许访问80386 的32 位寄存器组,在使用是,指令中要加上前缀以表示越权存取。
3、不用虚拟地址的概念存储器容量最大1M 字节。
4、实地址方式下,存储器中保留两个固定区域,一个为初始化程序区,另一个为中断向量区。
5、80386 具有4 个特权级,实地址方式下,程序在最高级(0 级)上执行。
2.17 80386 采用拿几种描述符表?这些表的设置带来什么优点?【答】80386 共设计三中描述符表即:全局描述符表,局部描述符表,中断描述浮表。
采用描述符表带来如下三方面的优点:1.可以大大扩展存储空间;2.可以实现虚拟存储;3.可以实现多任务隔离。
2.18 80386 在3 种工作方式下,"段"的长度有什么差别?实地址方式:段的大小固定64K 字节;保护方式:段的大小是可以选择的,1 字节到4 千兆字节;虚拟8086 方式:对程序员来说,段长度固定为64K。
2.19 Intel86 系列CPU 是从哪一种芯片开始采用RISC 技术的?你能说说RISC 技术最重要的特点和优点吗?【答】80486 是首次采用RISC 技术的。
80486 把80386 和浮点运算协处理器80387 及8KB 的超高速缓存器集中到一个芯片中,且支持二级Cache。
80486 能在一个时钟周期执行一条指令。
2.20 80486 和80386 相比,有什么技术特点?【答】① 80486 是首次采用RISC 技术的;②采用片内高速缓存和片内浮点运算协处理器;③ 80486 采用一种突发式总线方式实现CPU 和内存的高速数据交换;④80386 可以模拟多个8086 来实现多任务功能。
2.21 80386SL 和80486SL 芯片有什么特点?主要用于什么场合?【答】① 80386SL 不但具有80386 的三种工作方式,还增加了一种系统管理方式(SMM),在这种方式,CPU 会根据不同的使用环境自动减速运行或停止运行,还可以控制其他部件停止工作,从而使微机系统的功耗最小。
② 80386SL 采用静态CMOS 工艺制造技术。
80486SL 和80386SL 类似,采用SMI 中断以减少功耗,用于便携机。
2.22 Pentium 有哪些技术特点?你认为在Pentium 基础上主要应从哪几个方面可再作改进? 【答】①采用超标量双流水线结构,每个流水线包含5 个步级。
②内部采用2 个彼此独立的8KB 数据高速缓存,这两个高速缓存可以同时被访问。
③ Pentium 内部数据总线为32 位,但是cpu 和内存进行数据交换的外部数据总线为64 位,使一个总线周期的数据传输量提高一5倍。
④采用36 位地址总线,扩展了寻址空间。
⑤对mov.push.dec.inc 等常用指令不用微程序而用硬件实现;⑥采用分支预测技术提高流水线效能。
⑥采用分支预测技术提高流水线效能。
⑦浮点运算执行过程分为8 个流水步级。
pentium 也存在一些缺点,如功耗大,达15w,浮点运算功能仍低于一些RISC 处理器。
习题三8086 指令系统主要内容: 8086 指令系统。
主要介绍8086 的基本数据类型、寻址方式和指令系统,重点掌握8086 指令系统的寻址方式、堆栈操作指令、算术运算指令及其对标志位的影响,串操作指令,控制传送指令。
3.1 下面这些指令哪些是正确的?哪些是错误的?如是错误的,请说明原因。
XCHG CS,AX (′)MOV [BX],[1000] (′)PUSH CS ()?POP CS (′)IN BX,DX (′)3.2 单选题:(1)执行下面指令序列后,结果是( )。