微机原理课后作业答案第五版.docx

上传人:b****6 文档编号:8427834 上传时间:2023-01-31 格式:DOCX 页数:17 大小:28.03KB
下载 相关 举报
微机原理课后作业答案第五版.docx_第1页
第1页 / 共17页
微机原理课后作业答案第五版.docx_第2页
第2页 / 共17页
微机原理课后作业答案第五版.docx_第3页
第3页 / 共17页
微机原理课后作业答案第五版.docx_第4页
第4页 / 共17页
微机原理课后作业答案第五版.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

微机原理课后作业答案第五版.docx

《微机原理课后作业答案第五版.docx》由会员分享,可在线阅读,更多相关《微机原理课后作业答案第五版.docx(17页珍藏版)》请在冰豆网上搜索。

微机原理课后作业答案第五版.docx

微机原理课后作业答案第五版

第一章

6、[+42]原=00101010B=[+42]反=[+42]补

[-42]原

[-42]反

[-42]补

[+85]原=01010101B=[+85]反=[+85]补

[-85]原

[-85]反

[-85]补

10、微型计算机基本结构框图

微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。

微处理器的工作:

控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。

存储器用来存放数据和指令,其内容以二进制表示。

每个单元可存8位(1字节)二进制信息。

输入——将原始数据和程序传送到计算机。

输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。

接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。

总线:

从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。

13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。

8086有16根数据线,80386有32根数据线。

第二章

1、8086外部有16根数据总线,可并行传送16位数据;

具有20根地址总线,能直接寻址220=1MB的内存空间;

用低16位地址线访问I/O端口,可访问216=64K个I/O端口。

另外,8088只有8根数据总线

2、8086CPU由两部分组成:

总线接口单元(BusInterfaceUnit,BIU)

BIU负责CPU与内存和I/O端口间的数据交换:

BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。

执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。

执行完指令后,可通过BIU将数据传送到内存或I/O端口中。

指令执行单元(ExecutionUnit,EU)

EU负责执行指令:

它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。

EU的算术逻辑单元(ArithmeticLogicUnit,ALU)完成各种运算。

6、见书P28-29。

7.

(1)1200:

3500H=1200H×16+3500H=15500H

(2)FF00:

0458H=FF00H×16+0458H=FF458H

(3)3A60:

0100H=3A80H×16+0100H=3A700H

8、

(1)段起始地址1200H×16=12000H,结束地址1200H×16+FFFFH=21FFFH

(2)段起始地址3F05H×16=3F050H,结束地址3F05H×16+FFFFH=4F04FH

(3)段起始地址0FFEH×16=0FFE0H,结束地址0FFEH×16+FFFFH=1FFD0H

9、3456H×16+0210H=34770H

11、堆栈地址范围:

2000:

0000H~2000H(0300H-1),即20000H~202FFH。

执行两条PUSH指令后,SS:

SP=2000:

02FCH,再执行1条PUSH指令后,SS:

SP=2000:

02FAH。

12、(2000H)=3AH,(2001H)=28H,(2002H)=56H,(2003H)=4FH

从2000H单元取出一个字数据需要1次操作,数据是283AH;

从2001H单元取出一个字数据需要2次操作,数据是5628H;

17、CPU读写一次存储器或I/O端口的时间叫总线周期。

1个总线周期需要4个系统时钟周期(T1~T4)。

8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

第三章

1、源操作数的寻址方式:

(1)

(2)(6)立即寻址(3)寄存器间接寻址(4)(5)(8)(10)寄存器寻址

(7)基址变址寻址(9)直接寻址

2、DS=1000H,BX=0200H,SI=0002H

(10200H~10205H)依次存有10H,2AH,3CH,46H,59H,6BH

(1)MOVAX,0200H;AX=0200

(2)MOVAX,[200H]

物理地址=1000H×10H+0200H=10200H,AX=2A10H

(3)MOVAX,BX;AX=0200H

(4)MOVAX,3[BX]

物理地址=1000H×10H+0200H+3H=10203H,AX=5946H

(5)MOVAX,[BX+SI]

物理地址=1000H×10H+0200H+2H=10202H,AX=463CH

(6)MOVAX,2[BX+SI]

物理地址=1000H×10H+200H+2H+2H=10204H,AX=6B59H

3、DS=1000H,ES=2000H,SS=3500H,

SI=00A0H,DI=0024H,BX=0100H,BP=0200H,VAL=0030H

(1)MOVAX,[100H]直接寻址方式,10100H

物理地址=DS×10H+100H=10000H+0100H=10100H

(2)MOVAX,VAL直接寻址方式,10030H

物理地址=DS×10H+VAL=10000H+0030H=10030H

(3)MOVAX,[BX]寄存器间接寻址,10100H

物理地址=DS×10H+BX=10000H+0100H=10100H

(4)MOVAX,ES:

[BX]寄存器间接寻址,20100H

物理地址=ES×10H+BX=20000H+0100H=20100H

(5)MOVAX,[SI]寄存器间接寻址,100A0H

物理地址=DS×10H+SI=10000H+00A0H=100A0H

(6)MOVAX,[BX+10H]寄存器相对寻址,10110H

物理地址=DS×10H+BX+10H=10000H+0100H+10H=10110H

(7)MOVAX,[BP]寄存器间接寻址,35200H

物理地址=SS×10H+BP=35000H+0200H=35200H

(8)MOVAX,VAL[BP][SI]相对基址变址寻址,352D0H

物理地址=SS×10H+BP+SI+VAL

=35000H+0200H+00A0H+0030H=352D0H

(9)MOVAX,VAL[BX][DI]相对基址变址寻址,10154H

物理地址=DS×10H+BX+DI+VAL

=10000H+0100H+0024H+0030H=10154H

(10)MOVAX,[BP][DI]基址变址寻址,35224H

物理地址=SS×10H+BP+DI=35000H+0200H+0024H=35224H

5、

6、

(1)MOVDL,AX

错,寄存器寻址方式中,目的操作数与源操作数长度必须一致

(2)MOV8650H,AX

错,目的操作数不可以是立即数

(3)MOVDS,0200H

错,MOV指令不允许将立即数传入段寄存器

(4)MOV[BX],[1200H]

错,MOV指令的两个操作数不能同时为存储器

(5)MOVIP,0FFH

错,IP不能作为MOV指令的目的操作数

(6)MOV[BX+SI+3],IP

错,IP不能作为MOV指令的源操作数

(7)MOVAX,[BX][BP]

错,BX与BP不可以同时出现在源操作数当中

(8)MOVAL,ES:

[BP]对

(9)MOVDL,[SI][DI]

错,SI与DI是两个变址寄存器,不可以同时出现在源操作数中。

(10)MOVAX,OFFSET0A20H

错,OFFSET后面跟的应该是符号地址,再把符号地址的值作为操作数。

(11)MOVAL,OFFSETTABLE

错,TABLE的偏移地址是16位,目的与源长度不一致

(12)XCHGAL,50H

错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即数。

(13)INBL,05H

错,BL不能作为IN指令的目的操作数,只能用AL或AX

(14)OUTAL,0FFEH

错,端口地址0FFEH>FFH,应用DX间接寻址,同时源操作数和目标操作数的位置颠倒了,应改为OUTDX,AL。

8、

10、AX=2508H,BX=0F36H,CX=0004H,DX=1864H

(1)ANDAH,CL

AH=04H,CF=0;(00100101B与00000100B)

(2)ORBL,30H

BL=36H,CF=0;(00110110B或00110000B)

(3)NOTAX

AX=DAF7H,CF无影响;(0010010100001000B取反后1101101011110111B)

(4)XORCX,0FFF0H

CX=FFF4H,CF=0;(0000000000000100B和1111111111110000B异或后1111111111110100B)

(5)TESTDH,0FH

TEST操作并不修改结果,CF=0;

(6)CMPCX,00H

CMP操作并不修改结果,CF=0;

(7)SHRDX,CL

DX=0186H,CF=0;

(8)SARAL,1

AH=04H,CF=0;

(9)SHLBH,CL

BH=F0H,CF=0;

(10)SALAX,1

AX=4A10H,CF=0;(0010010100001000B左移)

(11)RCLBX,1

若程序执行之前CF=0,BX=1E6CH,CF=0;若程序执行之前CF=1,BX=1E6DH,CF=0。

(12)RORDX,CL

DX=4186H,CF=0。

12、

14、

(1)LOOPNEXT

(2)LOOPENEXT

(3)LOOPNENEXT

START:

MOVAX,01H

MOVBX,02H

MOVDX,03H

MOVCX,04H

NEXT:

INCAX

ADDBX,AX

SHRDX,1

()

程序运行前DX=00000011B

(1)AX=0005HBX=0010HCX=0000HDX=0000H

(2)AX=0002HBX=0004HCX=0003HDX=0001H

(3)AX=0003HBX=0007HCX=0002HDX=0000H

15、ARRAYDB78H,67H,75H,69H,70H,74H,71H

NEWDB7DUP(?

MOVCX,0007H

MOVBX,0000H

NEXT:

MOVAL,ARRAY[BX]

ADDAL,5

DAA

MOVNEW[BX],AL

INCBX

LOOPNEXT

HLT

第四章(请主动识别程序中的标点符号为英文输入模式下的)

2.、指令语句由4部分组成,格式:

标号:

指令助记符操作数;注释

其中,指令助记符不可缺少。

伪指令语句由4部分组成,格式:

名字伪指令指示符操作数;注释

其中,伪指令指示符不可缺少。

3、伪指令语句在汇编过程中完成某些特定的功能,没有它们,汇编程序将无法完成汇编过程。

和指令语句的主要区别是它没有对应的机器码,不能让CPU执行。

5、每条语句执行后的结果依次为:

AL=1BL=2CL=4AH=0FFHBH=4CH=1

6、

13、程序流程图如下:

汇编程序如下:

CODESEGMENT

ASSUMECS:

CODE

START:

CMPBL,60;与60分比较

JBFAIL;<60,转FAIL

CMPBL,85;≥60,与85分比较

JAEGOOD;≥85,转GOOD

MOVDL,‘P’;其它,将DL←‘P’

JMPDISPLAY;转显示程序

FAIL:

MOVDL,‘F’;DL←‘F’

JMPDISPLAY;转显示程序

GOOD:

MOVDL,‘G’;AL←‘G’

DISPLAY:

MOVAH,02H;显示存在DL中的字符

INT21H

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

14、

DATASEGMENT

TABLEDB01H,80H,0F5H,32H,86H,90H

DB74H,49H,0AFH,25H,40H,88H

PLUSDB0;存正数个数

NEGTDB0;存负数个数

ZERODB0;存0的个数

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVCX,12;数据总数

MOVBX,0;BX清0

AGAIN:

CMPTABLE[BX],0;取一个数与0比

JGEGRET_EQ;≥0,转GRET_EQ

INCNEGT;<0,负数个数加1

JMPNEXT;往下执行

GRET-EQ:

JGP-INC;>0,转P-INC

INCZERO;=0,零个数加1

JMPNEXT;往下执行

P-INC:

INCPLUS;正数个数加1

NEXT:

INCBX;数据地址指针加1

DECCX;数据计数器减1

JNZAGAIN;未完,继续统计

CODEENDS

ENDSTART

21、为便于理解,假设存放在BX(需要注意的是要先将BX中的数据送给AX)中的16位二进制数的实际值为9346,转换后应使CX=9346H(压缩BCD数)。

BIN_BCDPROCNEAR

MOVAX,BX

CMPAX,9999;AX>9999?

JBETRAN;小于,转

JMPEXIT;大于,转退出

TRAN:

SUBDX,DX;DX初值清0

MOVCX,1000;CX1000

DIVCX;(DX,AX)/1000=9…346(AX=9,DX=346)

XCHGAX,DX;交换,使DX=9,AX=346(下次除法被除数)

MOVCL,4;第一个商9左移4次

SHLDX,CL;DX=0090H

MOVCL,100;CL100

DIVCL;346/100=3…46,AL=3,AH=46

ADDDL,AL;将第2次的商加到DL中,使DX=0093H

MOVCL,4;DX左移4次

SHLDX,CL;左移后DX=0930H

XCHGAL,AH;交换,AX=0346H

SUBAH,AH;AX=0046H,第2次余数做被除数

MOVCL,10;CL10

DIVCL;AX/10=4…6,结果AL=4,AH=6

ADDDL,AL;4加到DL上,使DX=0934H

MOVCL,4

SHLDX,CL;DX左移4次,DX=9340H

ADDDL,AH;最后一次余数加到DX上,DX=9346H

MOVCX,DX;最后结果:

AX=9346H

EXIT:

RET

BIN_BCDENDP

第五章

1、内存分为随机存取存储器RAM和只读存储器ROM。

RAM的特点:

可随机写入和读出,访问速度快,但断电后内容会全部丢失,即具有易失性。

存放在ROM中的内容不会因断电而丢失,它属于非易失性存储器,计算机只能对ROM读出不能进行写入,改写要用专门的编程器。

3、静态RAM电路结构复杂,集成度较低,功耗也大,但存取速度很快,访问时间可小于10ns。

不适合做容量很大的内存,主要用作高速缓存(Cache),并用于网络服务器、路由器和交换机等高速网络设施上。

动态RAM电路简单,但存取速度慢,电容上存储的信息会丢失,需要刷新。

容量大,价格便宜,PC机上的内存都采用DRAM,而且做成内存条,便于扩充内存容量。

还被用在其它需要大量存储的场合,如激光打印机、高清晰数字电视等。

4、动态RAM存储单元由1个MOS管和1个小电容C构成。

C充满电荷便保存了信息1,无电荷为0。

电容C上保存的电荷会逐渐泄漏,使信息丢失。

为此,要在DRAM使用过程中及时向保存1的那些存储单元补充电荷,也就是对C进行预充电,这一过程称为DRAM的刷新(refresh)。

读操作是读出电容C上的电荷转换成的0或1的逻辑电平,并非对电容C进行充电。

15、8,A10~A0,A19~A11,4

16、

芯片

A19~A16

A15~A13

A12~A0

一个可用的芯片地址范围

1

XX10

000

全0~全1

20000H~21FFFH

2

XX10

001

全0~全1

22000H~23FFFH

3

XX10

010

全0~全1

24000H~25FFFH

4

XX10

011

全0~全1

26000H~27FFFH

18、

芯片

A19~A16

A15~A13

A12~A0

一个可用的芯片地址范围

1

X001

100

全0~全1

18000H~19FFFH

2

X001

101

全0~全1

1A000H~1BFFFH

3

X001

110

全0~全1

1C000H~1DFFFH

4

X001

111

全0~全1

1E000H~1FFFFH

第六章

1、答:

CPU和外设之间的信息交换存在以下一些问题:

速度不匹配;信号电平不匹配;信号格式不匹配;时序不匹配。

I/O接口电路是专门为解决CPU与外设之间的不匹配、不能协调工作而设置的,处于总线和外设之间,一般应具有以下基本功能:

⑴设置数据缓冲以解决两者速度差异所带来的不协调问题;⑵设置信号电平转换电路,如可采用MC1488、MC1489、MAX232、MZX233芯片来实现电平转换。

⑶设置信息转换逻辑,如模拟量必须经A/D变换成数字量后,才能送到计算机去处理,而计算机送出的数字信号也必须经D/A变成模拟信号后,才能驱动某些外设工作。

⑷设置时序控制电路;⑸提供地址译码电路。

2、CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。

在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口,CPU可对端口中的信息直接进行读写。

在一般的接口电路中都要设置以下几种端口:

⑴数据端口:

用来存放外设送往CPU的数据以及CPU要输出到外设去的数据。

数据端口主要起数据缓冲的作用。

⑵状态端口:

主要用来指示外设的当前状态。

每种状态用1位表示,每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的状态,决定程序的流程。

⑶命令端口:

也称为控制端口,它用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。

I/O端口的编址方式有两种:

分别称为存储器映象寻址方式和I/O指令寻址方式。

存储器映象寻址方式:

把系统中的每个I/O端口都看作一个存储单元,并与存储单元一样统一编址,这样访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令。

I/O指令寻址方式:

对系统中的输入输出端口地址单独编址,构成一个I/O空间,它们不占用存储空间,而是用专门的IN指令和OUT指令来访问这种具有独立地址空间的端口。

8086/8088CPU采用I/O指令寻址方式,用地址总线的低16位(A15~A0)来寻址I/O端口,最多可以访问216=65536个输入或输出端口。

7、端口A:

包含1个8位的数据输出锁存器/缓冲器,1个8位的数据输入锁存器。

A口作输入或输出时数据均能锁存。

端口B:

包含1个8位的数据输入/输出锁存器/缓冲器,1个8位的数据输入缓冲器。

端口C:

包含1个8位的数据输出锁存器/缓冲器,1个8位的数据输入缓冲器,无输入锁存功能,

分成两个4位端口时,每个端口有1个4位的输出锁存器。

C口还可配合A口和B口工作,用来产生A口和B口的输出控制信号、输入到A口和B口的端口状态信号。

A组:

管理A口和C口高,通过PA7~PA0以及PC7~PC4引脚与外部联络。

B组:

管理B口和C口低,通过PB7~PB0以及PC3~PC0引脚与外部联络。

8、8255A具有3种基本的工作方式,在对8255A进行初始化编程时,应向控制字寄存器写入方式选择控制字,用来规定8255A各端口的工作方式。

这3种基本工作方式是:

方式0——基本输入输出方式:

适用于不需要用应答信号的简单输入输出场合。

这种方式A口和B口可作为8位的端口,C口的高4位和低4位可作为两个4位的端口。

方式1——选通输入输出方式:

A口和B口作为数据口,均可工作于输入或输出方式。

端口C的6根线用来产生或接受联络信号。

方式2——双向总线I/O方式:

只有A口可以工作于这种方式。

端口A工作于方式2时,端口C的5位(PC3~PC7)作A口的联络控制信号。

9、控制字寄存器。

方式选择控制字的D7位总为1,而置位/复位控制字的D7位总为0。

10、0F8H,0FAH,0FCH,0FEH

MOVAL

OUT86H,AL

15、

MOVDX,83H;控制字寄存器

OUTDX,AL;写入控制字

TEST_IT:

MOVDX,80H;指向A口

INAL,DX;读入开关状态

NOTAL

MOVDX,81H;指向B口

OUTDX,AL;B口控制LED

CALLDELAY_20S;调延时20s子程序

JMPTEST_IT;延时20s再检测

DELAY_20S:

…;延时20s子程序

第七章

1、8253内部包含3个完全相同的计数器/定时器通道,即0~2计数通道,对3个通道的操作完全是独立的。

8253的每个通道都有6种不同的工作方式。

方式0:

计数结束中断,输出一个正跳变

方式1:

可编程单稳输出,输出一个宽度可

调的负脉冲

方式2:

比率发生器,输出序列负脉冲

方式3:

方波发生器。

方式2,3均可n分频

方式4:

软件触发选通,写入n开始计数

方式5:

硬件(GATE上升沿)触发选通

4、通道0:

方式3,初值N0=2M/1K=2000=(2000H)BCD控制字:

00110111B

通道1:

方式2,初值N1=2M/500=4000=(4000H)BCD控制字:

01110101B

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1