微机原理课后作业答案第五版_第1页
微机原理课后作业答案第五版_第2页
微机原理课后作业答案第五版_第3页
微机原理课后作业答案第五版_第4页
微机原理课后作业答案第五版_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第章

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

[-42]原

[—42]反

[—42]补

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

[-85]原

[—85]反

[-85]4

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

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

们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操

作;判定和控制程序流向。

存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信

息。

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

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

送至ij外部。

接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址

译码、定时控制等各种功能。

总线:从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根地址总线,能直接寻址22O=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、见书P2829o

7.(1)1200:3500H=1200HX16+350011=15500H

(2)FFOO:0458H=FFOOHX16+0458H=FF458H

(3)3A60:0100H=3A80HX16+0100H=3A700H

8、(1)段起始地址1200HX16=12000H,结束地址1200HX16+FFFFH=21FFFH

(2)段起始地址3F05Hxi6=3F050H,结束地址3F05HX16+FFFFH=4F04FH

(3)段起始地址0FFEHX16=0FFE0H,结束地址OFFEHX16+FFFFH=1FFD0H

9、3456HX16+0210H=34770H

11、堆栈地址范围:2000:00001I^2000H(0300H-1),即20000H〜202FFH。执行

两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:

SP=2000:02FAHo

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

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

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

17、CPU读写一次存储照或UO端口的时间叫总线周期。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,[200HJ

物理地址二1000HX10H+0200H=10200H,AX=2A1OH

(3)MOVAX,BX;AX=0200H

(4)MOVAX,3[BX]

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

(5)MOVAX,[BX+SI]

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

(6)MOVAX,2[BX+SIJ

物理地址=1000HX10H+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

物理地址=DSX10H+1()()H=lOOOOH+01()OH=10100H

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

物理地址=DSX10H+VAL=10OOOH+OO3OH=10030H

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

物理地址=DSX10H+BX=10000H+0100H=10100H

(4)MOVAX,ES:[BX]寄存器间接寻址,20100H

物理地址=ESX1OH+BX=20000H+0100H=201OOH

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

物理地址=DSX10H+SI=1OOOOH+OOAOH=100A0H

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

物理地址二DSX10H+BX+10H=10000H+0100H+10H=10110H

(7)MOVAX,[BPJ寄存器间接寻址,352OOH

物理地址二SSX10H+BP=35000H4-0200H=35200H

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

物理地址:SSX10H+BP+SI+VAL

=35OOOH+O2OOH+OOAOH+OO3OH=352DOH

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

物理地处:二DSX10H+BX+DI+VAL

=l()0()()H+()I00H+0024H+0030H=10154H

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

物理地址二SSX10H+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,OFFH

错,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,OFFEH

错,端口地址0FFEH>FFH,应用DX间接寻址,同时源操作数和目标操作数的

位置颠倒了,应改为OUTDX,ALo

8、

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

(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,OFFFOH

CX=FFF4H,CF=0;(0000000000000100B和111111111111OOOOB异或后11111111

11110100B)

(5)TESTDH,OFH

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

(6)CMPCX,OOH

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

(7)SHRDX,CL

DX=0186H,CF=O:

(8)SARAL.1

AH=04H,CF=O;

(9)SHLBH,CL

BH=FOH,CF=O;

(10)SALAX,1

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

(11)RCLBX,1

若程序执行之前CF=0,BX=1E6CH,CF=0;若程序执行之前CF=1,BX=IE6DH,CF=0o

(12)RORDX,CL

DX=4186H,CF=0o

12、

14、(1)LOOPNEXT

(2)LOOPENEXT

(3)LOOPNENEXT

START:MOVAX,01H

MOVBX,02H

MOVDX,03H

MOVCX,04H

NEXT:INCAX

ADDBX,AX

SHRDXJ

()

程序运行前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,(XX)0H

NEXT:MOVAL,ARRAY[BX]

ADDAL,5

DAA

MOVNEW[BX],AL

INCBX

LOOPNEXT

HLT

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

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

标号:指令助记符操作数;注释

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

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

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

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

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

完成汇编过程。和指令语句的主要区别是它没有对应的机器码,不能让CPU执

行。

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

AL=1BL=2CL=4AH=OFFHBH=4CH=1

6、

13、程序流程图如下:

汇编程序如下:

CODESEGMENT

ASSUMECS:CODE

START:CMPBL,60;与60分比较

JBFAIL;<60,转FAIL

CMPBL,85;260,与85分比较

JAEGOOD;285,转GOOD

MOVDL,'P';其它,将DL-'P'

JMPDISPLAY;转显示程序

FAIL:MOVDL,'F';DL-'F'

JMPDISPLAY;转显示程序

GOOD:MOVDL,C;AL-'G'

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

INT21H

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

14、

DATASEGMENT

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

DB74H,49H,OAFH,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;取一个数与。比

JGEGRET_EQ;20,转GRET_EQ

INCNEGT;<0,负数个数加1

JMPNEXT;往下执行

GRET-EQ:

JGP-INC:X),转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;CX71000

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;CL?100

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;交换,AXR346H

SUBAH,AH;AX=()046H,第2次余数做被除数

MOVCL,10;CL710

DIVCL;AX/1O4…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

BINBCDENDP

第五章

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-A1L4

16、

芯片A19-A16A15-A13A12-A0一个可用的芯片地址范围

1XX10000全0〜全120000H〜21FFFH

2XX10001全0〜全122000H-23FFFH

3XX10010全0〜全124000H-25FFFH

4XX10011全0~全126000H~27FFFH

18、

芯片A19-A16A15-A13A12-A0一个可用的芯片地址范围

1X001100全0~全118000H-19FFFH

2X001101全0〜全11A000H〜1BFFFH

3X001110全0~全11C000H-1DFFFH

4X001111全0〜全11E000H-1FFFFH

第六章

1、答:CPU和外设之间的信息交换存在以下一些问题:速度不匹配;信号电平不匹配;信号格式不匹

配;时序不匹配。

I/O接口电路是专门为解决CPU与外设之间的不匹配、不能协调工作而设置的,处于总线和外设

之间,一般应具有以下基本功能:⑴设置数据缓冲以解决两者速度差异所带来的不协调问题;⑵设置信

号电平转换电路.如可采用MC1488、MCI489MAX232、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,OFAH,OFCH,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个完全相同的计数器/定时器通道,即。〜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控制字:01I10101B

通道2:方式L初值N1=400/0.5=8000=(8000H)BCD

0通道初始化:

MOVDX,306H

MOVAL,OO11O111B(37H);方式3,先读/写低8位后读/写低8位,BCD计数

OUTDX,AL

MOVDX,300H

MOVAL,OOH;初值低8位

OUTDX,AL

MOVAL,20H;初值高8位

OUTDX,AL

1通道初始化:

MOVDX,306H

MOVAL,01110101B(75H):方式2,先读/写低8位后读/写低8位,BCD计数

OUTDX,AL

MOVDX,302H

MOVAL,OOH;初值低8位

OUTDX,AL

MOVAL,40H;初值高8位

OUTDX,AL

2通道初始化,

MOVDX,306H

MOVAL,(B3H);方式L先读/写低8位后读/写低8位,BCD计数

OUTDX,AL

MOVDX,304H

MOVAL,OOH;初值低8位

OUTDX,AL

MOVAL,80H:初值高8位

OUTDX,AL

第八章

1、计算机在执行正常程序过程中,暂时中止当前程序的运行,转到中断处理程序去处

理临时发生的事件,处理完后又恢复原来程序的运行,这个过程称为中断

(Interrupt)o中断功能:

使CPU和外设在部分时间内并行工作,大大提高CPU的利用率;

在实时控制系统中,现场数据可及时接收处理,避免丢失;

故障的处理,如电源掉电、奇偶校验错、运算中溢出错等;

利用中断指令,直接调用大量系统已编写好的中断服务程序,实现对硬件的控制。

2、引起中断的原因或能发出中断请求的来源称为中断源。

8086有两种中断源,中断分为两大类:

1)外部中断或硬件中断,从不可屏蔽中断引脚NMI和可屏蔽中断引脚INTR引入;

2)内部中断或软件中断,是为解决CPU运行过程中出现的一些意外事件或便于程序调

试而设置的。

4、中断向量表用来存放中断服务程序的入口地址。

8086可处理256(0>FH)类中断,每类中断有一个入口地址(中断向量),包含CS和

IP,共4个字节。因此存储256个地址,需要占用1K字节,它们位于内存

00000^003FFH的区域中。

6、

7、中断类型号n=40H/4=10H,中断服务程序起始地址是CS:IP=D169:240BH

第九章

1、并行通信时,数据各位同时传送。这种方式传输数据的速度快,但使用的通信线

多,如果要并行传送8位数据,需要用8根数据线,另外还要加上一些控制信号线。

随着传输距离的增加,通信线成本增加将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论