2017年重庆理工大学微型计算机技术考研复试核心题库
● 摘要
一、解答题
1. 输入/输出周期与存储器读/写周期有何异同?8086/8088 CPU发送和接收数据受什么信号控制?
【答案】(1)输入周期对应着存储器写周期,共同完成数据由CPU 向存储器的写入;输出周期对应着存储器读周期,共同完成CPU 从存储器读取数据的过程。
(2)8086/8088CTU发送和接收数据受到DT/巨信号的控制。
2. 已知(AL )=80H、(CL )=03H,求执行下列指令后(AL )=?CF=?
(1)(2)
【答案】(1)SAR AL,CL
将AL 中的内容80H 算术右移3位,如图1所示。 指令执行后AL=OFOH(它是-10H 的补码)、CF=0。
图1 将AL 中的内容80H 算术右移3位
(2)
将AL 中的内容80H 逻辑右移3位,如图2所示。指令执行后AL=10H、CF=0。
图2 将AL 中的内容80H 逻辑右移3位
3. 假设VDT1和VDT2为字变量,TA11和TAL2为标号,说明下列指令是否正确,说明其寻址方式;若有错误指出错误所在。
(1)JMP VDTI (2)JMP NEARTALI (3)JNZ VDT2 (4)JE TAL2
(5)JMP FARPTRTALI (6)JMP FAL1[SI]
【答案】先画出这三个变量在存储器的存放方式。 (1)JMP VDTI
非法指令,跳转指令应为标号不能是变量,VDT1是变量。 (2)JMP NEAR TALI
非法指令,标号的类型属性指在转移指令中标号可转移的距离,也称距离属性。类型NEAR , 表示此标号只能实现本代码段内转移或调用;类型FAR , 表示可以作为其他代码段中的目标地址,实现段间转移或调用。使用时,在属性后加PTR ,应该改为:JMP NEAR PTR TALI。
(3)JNZ VDT2
非法指令,跳转指令应为标号不能是变量,VDT2是变量。 (4)JET AL2 合法指令。
(5)JMP FAR PTR TALI 合法指令。 (6)JMP FAL1[SI]
非法指令,FAL1为标号,表示指令语言的符号地址,SI 是源变址寄存器,它存放的是地址。这条指令的错误之处在于两个地址表达式不能相加。
4. 分别写出实现如下功能的程序段
(1)将AX 中间8位(作高8位),BX 低4位和DX 高4位(作低4位)拼成一个新字。 (2)将CX 中间8位取反,其余位不变。
(3)将数据段中以BX 为偏移地址的连续3单元中的无符号数求和。 (4)将数据段中以BX 为偏移地址的连续4单元的内容颠倒过来。
(5)将BX 中的4位压缩BCD 数用非压缩BCD 数形式按序放在AL ,BL ,CL 和DL 中。 (6)不用乘法指令实现AL (无符号数)乘以20。 【答案】
(1)AND AX,0FF0H AND BX,000FH AND DX,F000H
MOV CX,O ADD CX,AX ADD CX,BX ADD CX,DX (2)XOR CX,0FFH (3)MOV AX,0
MOV CL,BYTEPTR[BX] ADD AX,CX
MOV CL,BYTEPTR[BX+1] ADD AX,CX
MOV CL,BYTE PTR[BX+2] ADD AX,CX (4)MOV CX,[BX] MOV DX,[BX+2] XCHG CH,DL XCHQ ,CL ,DH MOV[BX],CX MOV[BX+2],DX (5)MOV AX,OFOOOH AND AX,BX XCHG AH,AL MOV CL,4 SHR AX,CL MOV DX,000FH AND DX,BX MOV CH,0F0H AND CH,BL SHR CH,CL XCHG CH,CL MOV CH,0 MOV BL,0FH AND BL,BH MOV BH,0 (6)MOV BX,0 MOV DX,0 MOV BL,AL MOV DL,AL MOV CL,2 SHL BX,CL MOV CL,4 ADD BX,DX
5. 读取8259A 的ISR 寄存器内容的程序段是什么样的?
【答案】读取8259A 内部ISR 和IRR 寄存器内容必须先发读ISR 或IRR 命令。此命令是由
相关内容
相关标签