微机原理与接口技术习题答案(2)

2020-03-27 06:11

《微机原理与接口技术》课后习题的参考答案

间的字节距离。

在32位段的情况下,偏移量是32位。

8.段寄存器与32位偏移地址寄存器的固定搭配如何? 答:

固定搭配如表2所示。

表2 段寄存器与32位偏移地址寄存器的固定搭配

段寄存器 CS DS SS ES FS GS 偏移地址寄存器 EIP EAX、EBX、ECX、EDX、ESI、EDI、8位、16位或32位二进制数 ESP、EBP 只有串操作时默认EDI 无固定搭配寄存器 无固定搭配寄存器 物理地址的用途 指令地址 数据段内地址 堆栈段内地址 附加数据段内地址(目地址) 一般数据地址 一般数据地址

9.8086 CPU由哪两部分组成?它们的主要功能各是什么? 答:

8086 CPU内部结构从功能上看,它由两大部件组成,分为总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。

(1)总线接口部件BIU的主要功能:它是8086 CPU与外部存储器和I/O端口的接口,提供了16位双向数据总线和20位地址总线,负责CPU与存储器及I/O端口之间的数据传送操作(包括物理地址的形成)。

(2)执行部件EU主要功能:从BIU中的指令队列获取指令,对指令进行译码分析并执行,执行指令所需要的操作数和运算结果的存储,是由EU向BIU传递偏移地址,BIU只要收到EU送来的偏移地址,于是将送来的偏移地址与相应的段地址组成20位的物理地址,根据现行的20位物理地址,通过执行存储器的读/写总线周期来完成读/写操作,或者是通过执行I/O端口的读/写总线周期来完成读/写I/O端口的操作。

10.8086 CPU中的标志寄存器FLAGS有哪些状态标志位?在什么情况下置位? 答:

状态标志有6位:CF、PF、AF、ZF、SF和OF。

① CF(Carry Flag),进位标志位。本次运算中最高位有进位或借位时,CF=1。 ② PF(Parity Flag),奇偶校验标志位。本次运算结果的低8位中1的个数为偶数时,PF=1。

③ AF(Auxiliary Carry Flag),辅助进位标志位。本次运算结果低4位向高4位有进位或借位时,AF=1。

④ ZF(Zero Flag),零标志位。若运算结果为0时,ZF=1。

- -

6

⑤ SF(Sign Flag),符号标志位。当运算结果的最高位为1,则SF=1。 ⑥ OF(Overflow Flag),溢出标志位。当运算结果有溢出时,OF=1。

11.什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址?

答:从8088/8086开始,CPU内部就有了对存储器的分段机制,每个存储单元可以看成两种地址:逻辑地址与物理地址。

(1)逻辑地址

逻辑地址是编程时所使用的地址,在实模式下,它由段基地址与段内偏移地址组成,习惯上写为“段基地址:偏移地址”。

(2)物理地址

物理地址又称为实际地址,它是信息在内存中存放的实际地址,是CPU访问存储器时实际发出的地址信息。

(3)在实地址方式下,由CPU中的总线接口单元将段基地址左移4位后与16位的偏移地址相加,生成20位的物理地址。可以访问1MB的存储空间。

12.设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?

答:

(1)X+Y=35+76后,CF=0、AF=0、SF=0、OF=0、ZF=0、PF=1。 (2)X-Y=35-76后,CF=1、AF=1、SF=1、OF=0、ZF=0、PF=1。

13.什么叫存储器地址交叉?微机的存储器为什么要用存储器地址交叉技术? 答:

(1)在一个物理存储芯片内部所有存储单元的地址编号都不是连续的,而在相邻存储芯片之间的物理地址是相连接的,例如,16位的微处理器8086/80286把内存地址分为偶地址的字节数据、奇地址的字节数据,因此,分为偶字库和奇字库,即在一个物理存储芯片内所有存储单元的地址编号都是奇地址,另一物理存储芯片内所有存储单元的地址编号都是偶地址,这就称为地址交叉。

(2)偶地址存储体与数据总线的低8位(D7~D0)相连,奇地址存储体与数据总线高8位(D15~D8)相连,可以由偶地址有效选中偶字库(例A0=0),由奇地址有效选中奇字库(例(BHE=0)。原因是:便于CPU可以只访问偶地址一个字节,也可以只访问奇地址一个字节,还可以访问一个字(2字节)。

在CPU的外部数据总线为32位的情况下,CPU不仅可能只访问一个字节、一个字,还可能访问一个双字,因此,把内存分成4个存储体,实现存储器地址的4体交叉。

14.请将实模式下逻辑地址转变成物理地址。

(1)FFFFH:0000H (2)0045H:0018H (3)2000H:4600H (4)B821H:3456H

7 - -

《微机原理与接口技术》课后习题的参考答案

解:

(1)FFFFH:0000H,物理地址= FFFFH×16+0000H=FFFF0H (2)0045H:0018H,物理地址= 0045H×16+0018H=00468H (3)2000H:4600H,物理地址= 2000H×16+4600H=24600H (4)B821H:3456H,物理地址= B821H×16+3456H=BB666H

15.在8086系统中,CPU执行访问存储器指令时,BHE=0,说明当前CPU要访问哪一个存储体?

答:

当BHE=0时,CPU要访问奇地址的存储体。

第3章 (3.12 习 题)

3.1 按照16位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作数的寻址方式。

解:

(1) mov ax,0

;源操作数:立即寻址,目的操作数:寄存器寻址 ;源操作数:寄存器寻址,目的操作数:变址寻址 ;源操作数:寄存器寻址,目的操作数:相对变址寻址

(2) mov [si],ax (3) mov 2[di],bx

(4) mov 2[bx+si],dx ;源操作数:寄存器寻址,目的操作数:相对基址(加)变址寻址

(5) mov ax,[1000h] ;源操作数:直接寻址,目的操作数:寄存器寻址

(6) mov dx,[bx][si] ;源操作数:基址(加)变址寻址,目的操作数:寄存器寻址 (7) mov ax,[bx] (8) mov dx,[bp+8]

3.2 按照32位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作数的寻址方式。

解:

(1) mov eax,01h (2) mov [esi],ax

;源操作数:立即寻址,目的操作数:寄存器寻址 ;源操作数:寄存器寻址,目的操作数:基址寻址 ;源操作数:寄存器寻址,目的操作数: 比例变址

;源操作数:基址寻址,目的操作数:寄存器寻址 ;源操作数:相对基址寻址,目的操作数:寄存器寻址

(3) mov [esi*2],bx 寻址

- - 8

(4) mov [ebx+esi],dx 例变址寻址

(5) mov eax,[1000h] (6) mov dx,[ebx+esi*8] 寄存器寻址

(7) mov edx,eax (8) mov dx,[ebp*2+8] 寄存器寻址

(9) mov dx,[ebx+8] 器寻址

;源操作数:寄存器寻址,目的操作数: 基址加比;源操作数:直接寻址,目的操作数:寄存器寻址 ;源操作数: 基址加比例变址寻址,目的操作数:;源操作数:寄存器寻址,目的操作数:寄存器寻址 ;源操作数: 比例变址加位移寻址,目的操作数:;源操作数: 基址加位移寻址,目的操作数:寄存

(10) mov ax,[ebx+esi*2+78h] ;源操作数: 基址加比例变址加位移寻址,目的操作数:寄存器寻址

3.3 指出下列指令的错误原因 解:

(1) inc [si]

;目的操作数类型不明确

;源操作数和目的操作数类型不匹配 ;立即数不能作目的操作数

;源操作数和目的操作数不能同时为存储器操作数 ;基址变址寻址方式不能同时为基址寄存器

;基址变址寻址方式不能同时为变址寄存器 ;300超出了ah可以容纳的数据范围

;cs不能由程序员赋值,它由系统自动赋值 ;push要求操作数为16位或32位

;当移位次数超过1时,先将移位次数送cl,再移位 ;基址变址寻址方式缺少一对方扩号

;ip不能由程序员赋值,它由系统自动赋值 ;源操作数和目的操作数不能同时为段寄存器 ;入栈只能用push指令实现

(2) mov eax,bx (3) mov 2,ax

(4) mov [ebx],[edi] (5) mov ax,[bx+bp] (6) mov ax,[si+di] (7) mov ah,300 (8) mov cs,1000h (9) push al (10) shl ax,8 (11) mov ax,bx+di (12) mov ip,bx (13) mov es,ds (14) mov [sp],ax

3.4 比较下列两条指令,指出他们的区别。 解:

mov eax,[si] mov [si],eax

;从内存读数据送eax ;把eax的值写入到内存

9 - -

《微机原理与接口技术》课后习题的参考答案

3.5 假设(EAX)=12345678H,写出下面每条指令单独执行后,(EAX)=? 解:

(1) and eax,0000ffffh (2) test eax,1 (3) xor eax,eax

;(eax)=00005678h ;(eax)=12345678h ;(eax)=0 ;(eax)=0

;(eax)=12345679h ;(eax)=12345679h ;(eax)=12345678h ;(eax)=12345679h ;(eax)=12345677h ;(eax)=12345670h

(4) sub eax,eax (5) add eax,1 (6) or eax,1 (7) cmp eax,0000ffffh (8) inc eax (9) dec eax (10) sub eax,8

3.6 假定(AX)=1234H,(BX)=00FFH,回答每条指令单独执行后,(AX)=?(BX)=? 解:

(1) and ax,bx

;(ax)=0034h

(bx)=00ffh (bx)=00ffh (bx)=00ffh (bx)=1234h (bx)=00ffh (bx)=0eecbh (bx)=12ffh (bx)= 00ffh

(2) test ax,bx ;(ax)=1234h (3) xor ax,bx

;(ax)=12cbh

(4) xchg ax,bx ;(ax)=00ffh (5) add ax,bx (6) sub bx,ax (7) or bx,ax (8) cmp ax,bx

;(ax)=1333h ;(ax)=1234h ;(ax)=1234h ;(ax)=1234h

3.7 假设(EAX)=11223344H,(EBX)=11225566H,写出下面程序段每条指令执行后(EAX)=?(EBX)=?

解:

add eax,ebx

;(eax)=224488aaH,(ebx)=11225566H

;(eax)=22448932H,(ebx)=11225566H

add eax,00000088h

sub eax,ebx

;(eax)=112233ccH,(ebx)=11225566H ;(eax)=112233ccH,(ebx)=11225567H ;(eax)=112233ccH,(ebx)=00005567H

inc ebx and ebx,0000ffffh

- - 10


微机原理与接口技术习题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:律师事务所账务处理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: