《微机原理期末考试试题及答案.pdf》由会员分享,可在线阅读,更多相关《微机原理期末考试试题及答案.pdf(8页珍藏版)》请在三一文库上搜索。
1、1 / 8 1.8086 的数据线为16 位,地址线为20 位, I/O 口使用 16 位地址线。 2.在某进制的运算中 7 3=33,则 7 5= 55。 3.用 8 位二进制数表示整数时,十进制数(-128)的补码为 10000000。原码为无,反码为 无。 38086 内部寄存器长度为16 位,通用寄存器有8 个,段寄存器有4 个。 48086 偶存储体的选片信号是A0,奇存储体的选片信号是BHE 。 5MOV AX,BX+SI的源操作数是基址变址寻址方式,目的操作数是寄存器寻址方式。 68086 可以指向堆栈的指针寄存器有bp 和 sp。 7程序中段定义结束的伪指令是ENDS ,子程序
2、定义结束的伪指令是ENDP。 8EEPROM的擦除方法为点擦除 . 9.下列指令段经汇编后,DATA所代表的偏移地址为100 CH。 ORG 1000H STROE DB 12 DUP(?) DATA DB 05H,06H,07H,08H 1. 8086/8088 在不考虑段跨越情况下,DI 寄存器给出的偏移地址位于C。 A. 仅 DS段 B. DS或 SS段 C. DS或 ES段 D. DS或 CS段 2. 下列指令中格式错误的是_A_。 A. SHL AL ,CX B. XCHG AL,BL C. MOV BX ,SI D. AND AX ,BX 3. 设 (20010H)=3FH, (2
3、0011H)=B2H,执行下列指令段后,BX=_B_ 。 MOV AX ,2000H MOV DS ,AX MOV BX ,0010H A. B2B2H B. B23FH C. 3F3FH D. 3FB2H 4. 若 SP=0124H, SS=3300H,在执行INT 60H 这条指令后,堆栈栈顶的物理地址为 _D_。 A. 3311CH B. 33120H C. 33122H D. 3311EH 5. 下列指令中格式错误的是C。 A. MOV AX , 357AHBXDI B. OUT DX ,AL C. LEA AX ,50HBXBP D. RCR BX,1 6. 下列指令中允许寻址范围最
4、大的是D。 A. JNZ NEXT B. LOOP NEXT C. JMP SHORT PTR NEXT D. CALL NEAR PTR NEXT 7. 8086/8088 不属于 BIU 部分的寄存器是_D_。 A. IP B. ES C. DS D. SP 8.8086/8088 最大模式比最小模式在结构上至少应增加_B_。 A. 中断优先级控制器 B. 总线控制器 C. 数据驱动器 D. 地址锁存器 9. 8086 在存取存贮器中以偶地址为起始地址的字时,M/IO 、 BHE、 A0 的状态分别是 _D_。 A. 0,0,1 B. 1,0,1 C. 1,1,0 D. 1,0,0 10.
5、 一个半导体存贮芯片的引脚有A13 A0,D3 D0,WE,OE,CS ,VCC , GND等,该芯 片存贮容量为_C_。 A. 8K 8 B. 8K 4 C. 16K 4 D. 16K8 2 / 8 1.写出 8086CPU所含 14 个寄存器的英文标识及中文名称。CS16位代码段寄存器DS 16 位 数据段寄存器SS16位堆栈段寄存器 ES16位附加段寄存器 AX 累加寄存器 BX基址寄存器 CX 计数寄存器DX 数据寄存器 SP堆栈指针寄存器 BP基址指针寄存器SI DI 2.写出 8086 的 7 种寻址方式。 3. 在8086系 统 中 , 设DS=1000H, ES=2000H,
6、SS=1200H, BX=0300H, SI=0200H, BP=0100H, VAR 的偏移量0060H,指出下列指令的目标操作数的寻址方式,若目标操作数 为存储数操作数,计算它们的物理地址。 MOV BX SI,AX MOV ES:SI,AX MOV VAR,8 MOV BX,12 MOV 6BP+SI,AX 4.给定( SP )=0008H, (SS)=0300H ,在段地址为1000H 及偏移地址为0005H 的单元中有一 条双字节CALL指令近调用某个子程序,试问执行CALL指令后, SP ,SS的内容是什么?画 出堆栈的内容并标出地址。 5.某 8088 系统的内存贮器的译码器采用
7、了一片74LS138,实现全译码方式,请分析四个输 入端Y0 Y3 所控制的地址范围是多少?它适合多大容量的存贮器芯片?该存贮器的总容量 是多少 ? 3 / 8 正数的反码与原码相同; 负数的反码,是原码的符号位不变,其它各位求反。 x 0 x 2 n-1 1 x反 = 2 n 1 -|x| -( 2n-1 1) x 0 3.补码 x 0 x 127 x补 (+73) + y补 (+72) 1 0 0 1 0 0 0 1 补码运算发生溢出情况: 1.同号数相加,可能溢出; 2.异号数相减,可能溢出。 2.1.1 计算机硬件基本结构 由运算器、控制器、存储器、输入设备和输出设备等五个基本部分组成
8、。 微型计算机的分类 按用途分: ?通用微型计算机 ?嵌入式计算机 按微型计算机的组成和规模分: ?多板机 ?单板机 ?单片机 4 / 8 ?微机的系统总线按功能分成三组: ?数据总线DB: 地址总线 AB: 控制总线 CB: 8086 是 Intel 系列的16 位微处理器,有16 根数据线和20 根地址线。因为可用20 位 地址,所以可寻址的地址空间达220 即 1M 字节单元。 总线接口部件(BIU):段寄存器、指令指针寄存器(IP)、地址加法器、内部暂存 器、指令队列及I/O 控制逻辑等部分组成。 执行部件EU:负责指令的执行,包括通用寄存器、专用寄存器、标志寄存器及ALU等 部分组成
9、。 CS :16 位代码段寄存器DS:16 位数据段寄存器SS :16 位堆栈段寄存器 ES :16 位附加段寄存器 AX:累加器BX:基址( Base)寄存器CX :计数( Count)寄存器 DX:数据( Data)寄存器 SP :堆栈指针寄存器BP :基址指针寄存器 SI :源变址寄存器DI:目的变址寄存器 Flag :状态标志寄存器IP:指令指针寄存器 假设CS 8211H, IP 1234H,则该指令单元的20 位物理地址为:PA= 8311H 10H+1234H=83110H+1234H=84344H 物理地址段基址10H偏移地址 CS 16+IP SS 16+SP(BP) DS(
10、ES) 16+SI(DI) 1. 指令 指令是计算机能够识别和执行的指挥计算机进行操作的命令。计算机是通过执行指令 序列来解决问题的。 指令系统是指微处理器能执行的各种指令的集合。不同的微处理器有不同的指令系 统。 计算机指令码由操作码字段和操作数字段两部分组成。操作码字段指出所要执行的操 作,而操作数字段指出指令操作过程中需要的操作数。 2. 操作数 操作数是指令的操作对象。8086/8088 指令系统中的操作数分为两类:数据操作 数、转移地址操作数。 (1) 数据操作数 按存储位置,数据操作数分为:立即数、寄存器操作数、内存操作数、I/O 操作 数。 1) 立即数:指令中直接给出操作数本身
11、。 2) 寄存器操作数:即操作对象是寄存器中的内容。例上述指令中AL 为寄存器操作 数。 3) 内存操作数:也称为存储器操作数,操作对象是内存中的数。 4) I/O 操作数:指令中要操作的数据来自或送到I/O 端口。 (2) 转移地址操作数 这类操作数出现在程序跳转或程序调用指令中,指出程序要转移的目的地址。它也 5 / 8 可以分为:立即数、寄存器操作数、存储器操作数,即要转移的目标地址包含在指令中或 存放在寄存器、内存储器中 1 立即寻址 MOV AX ,1234H ;AX 1234H 2 寄存器寻址 MOV DX ,AX ;DX AX 注意: (1)当指令中的源操作数和目标操作数均为寄存
12、器时,必须采用同样长度的寄存器; (2)两个操作数不能同时为段寄存器; (3)目标操作数不能是代码段寄存器(CS )。 除以上两种寻址方式外,下面5 种寻址方式的操作数均在存储器中,统称为内存寻 址方式。当采用内存操作数时,必须注意双操作数指令中的两个操作数不能同时为内存操 作数。 3 直接寻址 (1) MOV AX,2000H ;AX (DS:2000H) (2) MOV 1200, BL ;(DS:1200H) BL (3) MOV ES:0100, AL ;(ES:0100H) AL 说明: DS:2000表示内存单元地址; (DS:2000) 表示地址是DS:2000的内存单元内容。
13、4 寄存器间接寻址 8086 /8088 中可用于间接寻址的寄存器有基址寄存器BX、BP和变址寄存器SI、DI。 为区别于寄存器寻址,寄存器名要用“ ” 括起。 例: MOV AX,SI ;AX (DS:SI+1 ,DS:SI) 有效地址 EA计算方法如下: 物理地址 PA计算方法如下: 物理地址 = DS 10H + SI 或 DI 或 BX 或 物理地址 = SS 10H + BP 注意:不同的寄存器所隐含对应的段不同。采用SI、DI、BX 寄存器,数据存于数据 段中;采用BP寄存器,数据存于堆栈段中。 5 寄存器相对寻址 操作数的有效地址: EA1 = SI/DI/BX + 8位 dis
14、p/16 位 disp(disp 代表偏移量 ) 或 EA2 = BP + 8位 disp/16 位 disp 操作数的物理地址: PA1 = DS 10H + EA1 或 PA2 = SS 10H + EA2 (1)偏移量是有符号数,8 位偏移量的取值范围为:00FFH( 即 +127-128); 16 位偏移 量的取值范围为:0000FFFFH( 即+32765-32768)。 (2)IBM PC汇编允许用三种形式表示相对寻址,它们的效果是一样的,如: MOV AX ,BX+6 ;标准格式 6 / 8 MOV AX,6BX ;先写偏移值 MOV AX,BX+6 ;偏移值写在括号内 6 基址
15、变址寻址 操作数的有效地址为: EA1 = BX + SI / DI 或 EA2 = BP + SI / DI 当基址寄存器选用BX时,数据隐含存于数据段中;当基址寄存器选用BP时,数据 隐含存于堆栈段中,即操作数的物理地址为: PA1 = DS 10H + EA1 或 PA2 = SS 10H + EA2 7 相对基址变址寻址 操作数的有效地址为: EA1 = BX + SI/DI + 8位/16 位 disp 或 EA2 = BP + SI/DI + 8位/16 位 disp 当基址寄存器选用BX时,数据隐含存于数据段中;当基址寄存器选用BP时,数据 隐含存于堆栈段中,即操作数的物理地址为
16、: PA1 = DS 10H + EA1 或 PA2 = SS 10H + EA2 8086/8088 指令系统按其功能可分6 类: 1. 数据传送指令 2. 算术运算指令 3. 逻辑指令 4. 串操作指令 5. 控制转移指令 6. 处理机控制指令 MOV 指令传送数据的位数由寄存器或立即数决定,dst 和 src 数据位数必须相同?下面的 一些用法是错误的: MOV ES ,AL; MOV CL,4321H? MOV 指令中的dst 和 src 两操作数中必有一个是寄存器,不允许用MOV 实现两存储单元 间的传送 ?若需要时,可借助一个通用寄存器为桥梁,即: MOV AL,SI; 通过 AL
17、实现 (SI)和(DI)所指的两存储单元间的数据传送 MOV DI,AL? 不能用CS和 IP作目的操作数; 不允许在段寄存器之间直接传送数据; 不允许用立即数作目的操作数; 不能向段寄存器送立即数,要对段寄存器初始化赋值,必须通过CPU的通用寄存器? 例如: MOV AX,DATA ; 将数据段地址DATA通过 AX装入 DS中 MOV DS , AX? 例:以下指令均为合法的传送指令,括号中为目标操作数与源操作数的寻址方式。 1) MOV AL,5 ;(寄存器,立即数) 2) MOV AX,BX ;(寄存器,寄存器) 3) MOV DS ,AX ;(段寄存器,寄存器) 7 / 8 4) M
18、OV AX,DS ;(寄存器,段寄存器) 5) MOV ES:VAR ,12 ;(存储器,立即数) 6) MOV WORD PTR BX ,12 ;(存储器,立即数) 其中: VAR为符号地址; WORD PTR指明存储器的属性是字属性。 ) 进栈指令PUSH 格式: PUSH src src可以是: r16、seg、m16 功能:堆栈指针减2,并将寄存器、段寄存器或存储器中的一个字数据压入堆栈。 即: SP SP - 2 (SP+1 ,SP) (src) 执行过程可描述为:先减后压 ) 出栈指令POP 格式: POP dest dest可以是: r16(除 CS外)、seg、m16 功能:将
19、栈顶元素弹出送至某一寄存器、段寄存器(除 CS外)或存储器,堆栈指针加2。 即: (dest) (SP+1 ,SP) SP SP + 2 执行过程可描述为:先弹后加 由于XCHG 指令不允许同时对两个存储单元进行操作,因而必须借助于一个通用寄存器。 先把一个存储单元中的数据传送到通用寄存器;再将通用寄存器中的内容与另一个存 储单元内容进行交换;把通用寄存器中的内容回传给第一个存储单元。 换码指令 XLAT 格式: XLAT 源操作数、目标操作数均隐含。 功能:把数据段中偏移地址为BX+AL 的内存单元的内容传送到AL 中,即: AL(BX + AL)。 1) 对外设端口操作时,当端口地址在02
20、55 范围内,寻址方式可选用直接寻址,也可选 用间接寻址;当端口地址大于255 时,只能选用间接寻址,并且地址寄存器只能用DX。 (2) 数据寄存器只能用AL(字节操作 )或 AX(字操作 )。当使用AX 时,对IN 指令来说:是将 port 或 DX 所指向的端口数据读入AL,将 port+1 或 DX+1 所指向的端口数据读入AH;对 OUT 指令来说:是将AL 寄存器内容送port 或 DX 所指向的端口,将AH 寄存器内容送 port+1 或 DX+1所指向的端口。 数据传送指令除SAHF 、POPF指令对标志位有影响外,其余指令对标志位无影响。 串操作指令共有5 条,串传送指令MOV
21、S、串装入指令LODS 、串送存指令STOS 、串比较指 令 CMPS 、串扫描指令SCAS 。 控制转移指令包括:转移指令、循环控制指令、过程调用指令和中断指令等4 类。 (1) 中断调用指令 INT n 格式: INT n 功能:产生一个类型为n 的软中断 8 / 8 操作: 标志寄存器入栈; 断点地址入栈,先CS入栈,后IP入栈; 从中断向量表中获取中断服务程序入口地址,即: IP (0000:4n+1,0000:4n) CS (0000:4n+3,0000:4n+2) (2) 溢出中断指令 INTO 格式: INTO 功能:检测OF 标志位,当OF=1 时,产生中断类型为4 的中断;当OF=0 时,不起作 用。 操作: 标志寄存器入栈; 断点地址入栈,先CS入栈,后IP入栈; 从中断向量表中获取中断服务程序入口地址,即: IP (0000:0011H,0000:0010H) CS (0000:0013H,0000:0012H) ) 中断返回指令IRET 格式: IRET 功能:从中断服务程序返回断点处,继续执行原程序。IRET 指令是中断服务程序执行的 最后一条指令。 操作: 断点出栈,先IP 出栈,后CS出栈; 标志寄存器出栈;
链接地址:https://www.31doc.com/p-4591843.html