好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机原理复习题(1-3).doc

7页
  • 卖家[上传人]:kms****20
  • 文档编号:39654949
  • 上传时间:2018-05-18
  • 文档格式:DOC
  • 文档大小:665.50KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 习习 题题 1 11.1 假设四种 CPU 主存地址分别为 16 根、20 根、24 根以及 32 根,试问每种 CPU 可寻址内存多少字节?解:64K 字节,1M 字节,16M 字节,4G 字节1.2 设字长为 16 位,将下列十进制数转换成二进制数,十六进制数以及压缩 BCD 数① 65 ② 129 ③ 257 ④ 513解: ①0000000001000001B,0041H, ( 0000 0000 0110 0101)BCD②0000000010000001B,0081H, (0000 0001 0010 1001)BCD③0000000100000001B,0101H, (0000 0010 0101 0111)BCD④0000001000000001B,0201H, (0000 0101 0001 0011)BCD1.3 请写出 0 的原码、反码与补码8 位数 0 的原码: +0 = 0 0000000- 0 = 1 0000000即:数 0 的原码不唯一[+0]反 = 00000000[-0]反 = 11111111即:数 0 的反码也不是唯一的。

      [+0]补= [+0]原=00000000[-0]补= [-0]反+1=11111111+1 =100000000 对 8 位字长,进位被舍掉∴[+0]补= [-0]补= 000000001.4 设字长为 8 位,写出 x、y 的原码、反码和补码,并且用补码计算 x+y,问是否 有溢出?① x=-78 y=35 ② x=-64 y=-66解:①[X]原=11001110, [X]反=10110001, [X]补=10110010[Y]原=00100011, [Y]反=00100011, [Y]补=00100011因为:[X]补=10110010 [Y]补=00100011那末:[X]补+[Y]补=11010101=[X+Y]补 X+Y= 00101011 没有溢出②[X]原=11000000, [X]反=10111111, [X]补=11000000[Y]原=11000010, [Y]反=10111101, [Y]补=10111110因为:[X]补=11000000 [Y]补=10111110那末:[X]补+[Y]补=101111110,有溢出习题习题 2 2 2.18086CPU 由哪两部分组成?它们的主要功能各是什么?解:8086CPU 由总线接口部件 BIU (Bus Interface Unit)和执行部件 EU (Execution Unit) 两大部分组成。

      总线接口部件的主要功能是形成物理地址、预取指令、指令队列排队、读/写操作数和总线控制执行部件的主要功能是进行指令译码并执行指令2.2 8086CPU 中有哪些寄存器?各有什么用途?标志寄存器 FLAGS 有哪些标志位?在什么 情况下置位?解:8086CPU 中的寄存器如教材图 2-2 所示:其用途如下所示: 数据寄存器特有的习惯用法:数据寄存器特有的习惯用法: AX:累加器多用于存放中间运算结果所有 I/O 指令必须都通过 AX 与接口传 送信息; BX:基址寄存器在间接寻址中用于存放基地址; CX:计数寄存器用于在循环或串操作指令中存放循环次数或重复次数; DX:数据寄存器在 32 位乘除法运算时,存放高 16 位数;在间接寻址的 I/O 指 令中存放 I/O 端口地址 地址指针寄存器:地址指针寄存器:SP:堆栈指针寄存器,其内容为栈顶的偏移地址; BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址 BX 与与 BP 在应用上的区别在应用上的区别 作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,BX 通常用于寻址数据段;BP 则通常用于寻址堆栈段 BX 一般与 DS 或 ES 搭配使用 变址寄存器:变址寄存器: 变址寄存器常用于指令的间接寻址或变址寻址。

      特别是在串操作指令中,用 SI 存 放源操作数的偏移地址,而用 DI 存放目标操作数的偏移地址 段寄存器:段寄存器:  CS:代码段寄存器 代码段用于存放指令代码  DS:数据段寄存器  ES:附加段寄存器数据段和附加段用来存放操作数  SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数 IP:指令指针寄存器,其内容为下一条要执行的指令的偏移地址 FLAGS:标志寄存器 状态标志:存放运算结果的特征 控制标志:控制某些特殊操作6 个状态标志位(CF,SF,AF,PF,OF,ZF)3 个控制标志位(IF,TF,DF) 2.3 什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址? 解:逻辑地址是指在程序和指令中使用的一种地址,它包括两部分:段基地址和偏移 地址段基地址说明每段在主存中的起始位置,它来自于段寄存器(CS、DS、ES、SS)偏 移地址说明主存单元距离段起始位置的偏移量它是一个 16 位的偏移地址,根据指令的不 同,它可以来自于 8086CPU 中不同的 16 位寄存器 IP、SP、BP、SI、DI、BX 等。

      物理地址是指 CPU 对存储器进行访问时实际寻址所使用的地址,物理地址是由段寄存 器与偏移地址共同确定的在实际工作时,从段寄存器中取出段基址,将其左移 4 位,再 与 16 位偏移地址相加,就得到了物理地址,此地址在 CPU 总线接口部件 BIU 的 20 位地 址加法器中形成物理地址的计算方法为:物理地址=段基地址×16+偏移地址2.4 设 X=35H,Y=76H,进行 X+Y 和 X-Y 运算后,标志寄存器 FLAGS 的状态标志位 各是什么? 解:X+Y=ABH ,各标志位分别为: OF=1,SF=1,ZF=0,AF=0,PF=0,CF=0X-Y=BFH, 各标志位分别为: OF=0,SF=1,ZF=0,AF=1,PF=0,CF=12.5 8086 的 4 个逻辑段在形成物理地址时分别是什么用途? 解:在 8086 的程序设计中,一个程序可以有代码段 CS、数据段 SS、堆栈段 SS 和附 加段 ES 代码段 CS 用于存放程序;数据段 DS 和附加段 ES 用于存放数据; 堆栈段 SS 用于存放数据(包括暂存数据和保护现场的数据) 在形成物理地址时,CS、DS、ES 和 SS 四个段寄存器的作用如下:当取指令时,CPU 以 CS 寄存器的值作段基址,再加上 IP 中的 16 位偏移地址,得到指令的物理地址;当进 行堆栈操作时,段基地址 CPU 以 SS 为堆栈段的基地址,偏移地址由 SP 或 BP 来指定,当 访问存储器的数据段时,数据段寄存器 DS 或附加段寄存器 ES,再加上 16 位偏移地址, 得到操作数的物理地址。

      2.6 请将如下逻辑地址用物理地址表示: (1)FFFFH:0 (2)45H:18H (3) 2000H:4600H (4)B821H:3456H 解:用 PA 表示物理地址,PA=段基地址×16+偏移地址 (1)PA=FFFFH×16+0000H=FFFF0H (2)PA=45H×16+18H=468H (3)PA=2000H×16+4600H=24600H (4)PA=B821H×16+3456H=BB666H习题习题 3 3 3.1 分别指出下列指令中源操作数和目的操作数的寻址方式(1) MOV AX,5678H (2) MOV [SI],AX (3) MOV 2[DI],BX (4) MOV 2[BX+SI],DX (5) MOV AX,[10] (6) MOV AX,[ SI][ BP+0FFF0H] 解:指令目的操作数的寻址方式源操作数的寻址方式(1) MOV AX, 5678H寄存器寻址立即寻址(2) MOV [SI],AX寄存器间接寻址寄存器寻址(3) MOV 2[DI],BX寄存器相对寻址寄存器寻址(4) MOV 2[BX+SI],DX基址变址寻址寄存器寻址(5) MOV AX,[10]寄存器寻址直接寻址(6) MOV AX,[SI][BP+0FFF0H]寄存器寻址带有位移量的基址变址寻址3.2 指出下列指令的错误原因(1) MOV AX,BL (2) MOV 2,AX (3) MOV AX,[DX] (4) MOV AX,[BX+BP] (5) MOV AX,[SI+DI] (6) MOV [SI],[DI] (7) PUSH AL (8) POP DH (9) MOV CS,AX(10) MOV SS,AX (11) SHL AX,3 解:指令错误原因(1) MOV AX,BL源操作数和目的操作数类型不一致(2) MOV 2,AX立即数不能作目的操作数(3) MOV AX,[DX]DX 不能作地址寄存器(4) MOV AX,[BX+BP]源操作数寻址方式错,两个寄存器都是基址寄存器(5) MOV AX,[SI+DI]源操作数寻址方式错,两个寄存器都是变址寄存器(6) MOV [SI],[DI]源操作数和目的操作数不能同时为内存单元地址(7) PUSH AL入栈的数据必须是一个 16 位数据(8) POP DH出栈的数据是一个 16 位数据,DH 是 8 位寄存器(9) MOV CS,AXCS 值不能由程序员编程改变(10) MOV SS,AXSS 值不能由程序员编程改变(11) SHL AX,3移位次数大于 1,应先将移位次数送 CL3.3 比较下列两条指令,指出它们的区别MOV AX,[SI]MOV [SI],AX 解:这两条指令的区别是,指令“MOV AX,[SI]”是将内存单元 DS:[SI]中的内容读到 CPU 中的寄存器 AX;而指令“MOV [SI],AX”是将 CPU 中寄存器 AX 中的内容写入内存 单元 DS:[SI]。

      3.4 比较下列两条指令,指出它们的区别MOV AX,[SI]LEA AX,[SI] 解:这两条指令的区别是,指令“MOV AX,[SI]” 是将内存单元 DS:[SI]中的内容读 到 CPU 中的寄存器 AX;而指令“LEA AX,[SI]”是将内存单元 DS:[SI]的偏移地址送到 AX 3.5 假定(AX)=5678H,不用计算,写出下面每条指令执行后(AX)=?① TEST AX,1 ② XOR AX,AX ③ SUB AX,AX ④ CMP AX,8765H 解: ①(AX)=12345678H ② 0 ③ 0 ④(AX)= 5678H 3.6 假定(AX)=1234H,(BX)=5678H 指出下列指令中 ① 哪些指令执行后,源操作数和目的操作数都不发生变化? ② 哪些指令执行后,源操作数和目的操作数都发生变化? ③ 哪些指令执行后, 源操作数不发生变化而目的操作数发生变化? 指令:① TEST AX,1234 ② AND AX,BX ③ SUB AX,1234H ④ CMP AX,1234H ⑤ XCHG AX,BX 解:① 指令“TEST AX,1234”和指令“CMP AX,1234H”执行后,源操作数和目的操作数 都不发生变化。

      ② 指令“XCHG AX,BX”执行后,源操作数和目的操作数都发生变化 ③ 指令“AND AX,BX”和“SUB AX,1234H”执行后, 源操作数不发生变化而目的操 作数发生变化 3.7 指令总结及重点指令指令类型指令类型助记符助记符数据传送MOV,,PUSH/POP,,XCHG,LAHF,SAHF,PUSHF, POPF地址传送LEA,LDS,LES数 据 传 送输入输出IN,OUT,XLAT加法ADD,ADC,INC减法SUB,SBB,DEC,NEG,CMP算 术 运 算乘/除法MUL,IMUL,DIV,IDIV逻辑AND,,OR,,NOT,,XOR,,TEST移位SHL/SHR/SAR,ROL/ROR。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.