2017年兰州理工大学微机原理及接口(同等学力加试)复试仿真模拟三套题
● 摘要
一、解答题
1. 8259A 的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?
【答案】初始化命令字通常在系统初始化阶段设置,从开始,按照固定的次序设置,一经设置完成,则在以后的操作中基本保持不变。操作命令字是在程序执行阶段向8259A 发出的命令字,实现以8259A 的状态、中断方式和过程的控制。操作命令字可在一个程序中多次设置,从而改变中断的方式。初始化命令字有4个,分别为
分别为
2. ROM 和RAM 各有何特点和用处?
【答案】(1)ROM 称为只读存储器,用于存放固定程序的存储器,一旦程序存放进去之后,即不可改变。也就是说,不能再“写”入新的字节,而只能从中“读”出其所存储的内容。
(2)RAM 称为随机存储器,分为静态RAM 和动态RAM 。不但能读取已存放在其各个存储单元中的数据,而且还能够随时写进新的数据,或者改写原来的数据。常用于主存的组成。
3. 写出一条能完成下述操作的指令。
(1)将AX 的高字节清零,低字节不变。
(2)将BX 的低字节置成“1”,高字节不变。
(3)将CX 的高字节变反,低字节不变。
【答案】(1)将AX 的高字节清零,低字节不变的指令如下:
(2)将BX 的低字节置成“1”,高字节不变的指令如下:
(3)将CX 的高字节变反,低字节不变的指令如下:
4. 什么是描述符?什么是描述符表?举例说明描述符的作用。
【答案】(1)描述符指一组64位的信息,它包括所需段的基址、长度及其他相关信息。
(2)描述符表是一个特殊的段,段内按8字节分组,即每8个字节为一个描述符,在描述符表中的每一个描述符均应有一个选择符与其对应。
(3)例如存储器状态的描述符,8个字节中,2, 3, 4, 7四个字节提供了段的基址32位。0, 1两个字节与6字节中的低4位共20位确定了段的长度。5, 6字节的其他12位指明该段的权限值,包括段长度、段类型、偏移量位数、操作类型等相关信息。
第 2 页,共 26 页 操作命令字有3个,
5. 80X86的指令有哪些寻址方式?它们的具体含义是什么?指令中如何表示它们?
【答案】(1)寄存器寻址
操作数是寄存器,操作的数据在指令指定的寄存器中。如:MOVBX ,AX
(2)立即寻址
操作数是数值表达式,操作数就是操作的数据,这样的操作数称为立即数。立即数就在指令中,实际上是不需要寻找的。如:MOV AL,5
(3)直接寻址
操作的数据在存储器中,其偏移地址由不含寄存器的地址表达式给出,段基址或段选择字(在不作专门说明时)由当前数据段寄存器DS 确定。如:MOV AX ,W ,其中字变量W 实在DS 中定义的。
(4)间接寻址
操作的数据在存储器中,其偏移地址在指令给出的方括号中的寄存器中,即方括号中的寄存器的内容为操作数据的偏移地址。如:MOV CX,[BX]
(5)基址寻址
操作的数据在存储器中,其偏移地址就是指令中给出的地址表达式的偏移地址,段基址或段选择字由变量和基址寄存器确定在哪一个段寄存器中。如:MOV[BX+BUF+2],AL
(6)变址寻址
变址寻址与基址寻址类似,只不过是用变址寄存器取代基址寄存器。如:MOV BX ,5MOV BUF[BX],,BH
(7)基址变址寻址
操作的数据在存储器中,其偏移地址是指令中给出的地址表达式的偏移地址,地址表达式中既有一个基址寄存器又有一个变址寄存器。如:MOV[BX+SI+5],AX
(8)比例变址寻址
操作的数据在存储器中,其偏移地址就是指令中给出的含有变址寄存器x 比例因子的地址表达式的偏移地址,段基址或段选择字的确定同变址寻址。如:MOV EBX,[ESI×4]
(9)基址比例变址寻址
操作的数据在存储器中,其偏移地址就是指令中给出的地址表达式的偏移地址,地址表达式中既有一个基址寄存器又含有变址寄存器X 比例因子。如:
6. 给定一个堆栈区,其地址为
请问:(1)栈顶地址的值;(2)栈底地址的值;(3)在堆栈段寄存器SS 中的段地址是多少?
(4)若存入数据245AI , 在堆栈存储区如何放置,此时SP 的值是多少?
【答案】(1)
⑵
第 3 页,共 26 页
(3)
(4)
二、编程题
7. 编写程序将DX 、AX 中的32位数据左移一位,低位补零。
【答案】DX 、AX 中的32位数据左移一位,低位补零,对AX 中的低字采用移位指令SHL ,移位后原AX 中的最高位移入到CF 中。再将CF 的值移到DX 中的最低位,然后依次左移,DX 中的最高位进入CF ,也就是说,DX 要CF 参加移位,所以只能使用带进位的循环左移指令RCL 指令。带进位的循环左移指令示意图如图所示。
图 带进位的循环左移指令示意图
指令如下:
8. 编写程序:给1A000H 开始的256个内存单元均减去1,若发现某个单元减为0则立即退出循环,其后的单元不再减1。
【答案】1A000H 是物理地址,我们可以设DS=1A00H,偏移地址则为0。程序如下:
9. 用串操作指令以外的其他8086指令改写下列指令,要求保持其功能不变。
①REPMOVSB
②REPSTOB
【答案】下列带重复前缀的串操作指令就是循环指令,它的循环次数为CX 的内容,当REP 指令与MOVSB 或STOB 指令一起使用时,若CX 的内容不为0, 则REP 指令是紧接在它后面的字符串操作指令重复执行(CX )次。每执行一次字符串操作指令,计数器CX 的内容自动减1, 直到CX=0时,退出串处理循环,转而执行下一条指令。
①REP MOVSB指令是将(CX )个字节从DS :SI 寻址的源串传送到由ES :DI 寻址的目的串。
第 4 页,共 26 页
相关内容
相关标签