第17章作业答案Word下载.docx

上传人:b****6 文档编号:19694724 上传时间:2023-01-08 格式:DOCX 页数:33 大小:609.62KB
下载 相关 举报
第17章作业答案Word下载.docx_第1页
第1页 / 共33页
第17章作业答案Word下载.docx_第2页
第2页 / 共33页
第17章作业答案Word下载.docx_第3页
第3页 / 共33页
第17章作业答案Word下载.docx_第4页
第4页 / 共33页
第17章作业答案Word下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

第17章作业答案Word下载.docx

《第17章作业答案Word下载.docx》由会员分享,可在线阅读,更多相关《第17章作业答案Word下载.docx(33页珍藏版)》请在冰豆网上搜索。

第17章作业答案Word下载.docx

16位算术逻辑单元ALU(运算器)

8个16位通用寄存器(AX、BX、CX、DX、SP、BP、SI、DI)

1个16位标志寄存器FLAGS

执行部分控制电路

总线接口单元(BIU)包含:

4个16位段寄存器(DS、CS、ES、SS)

1个16位指令指针寄存器IP

20位地址加法器

6字节指令队列缓冲器

3、8086CPU内部的14个寄存器都是什么?

AX、BX、CX、DX、SP、BP、SI、DI,FLAGS,DS、CS、ES、SS,IP

4、存储器如何分段?

1、把1M字节存储器空间分成若干个段,每个段的容量<

=64K字节。

每段内地址(也称偏移地址)可以用16位地址表示出来。

2、每个段的起始地址低4位必须为0,高16位地址放在16位的段寄存器内,称为段基址,段寄存器分别为CS、DS、SS和ES,段基址存放在这4个段寄存器中。

3、每个段不一定都是64KB,可以小于它,且每个段可以分开,也可以重叠。

5、存储器中各个段如何命名?

通常一个程序中通常有代码段、堆栈段、数据段、附加段.

代码段:

用于存放程序。

代码段段基址在代码段寄存器CS中。

堆栈段:

用于存放一些特殊数据。

堆栈段段基址在堆栈段寄存器SS中。

数据段:

用于存放一些数据。

数据段段基址在数据段寄存器DS中。

附加段:

附加段段基址在附加段寄存器ES中。

6、在程序或指令中存储器各个段的地址用逻辑地址表示,写出各个段的逻辑地址表示方法。

逻辑地址格式为:

段基址:

偏移地址

代码段逻辑地址CS:

IP

数据段逻辑地址DS:

段内偏移地址

堆栈段逻辑地址SS:

SP

附加段逻辑地址ES:

7、存储器各段物理地址如何计算?

代码段存储器的物理地址=CS*16+IP

堆栈段存储器的物理地址=SS*16+SP

数据段存储器的物理地址=DS*16+段内偏移地址

附加段存储器的物理地址=ES*16+段内偏移地址

8、已知代码段CS=3000H,指令指针IP=2010H,指出指针所指程序在存储器中的物理地址。

当前指令物理地址=CS*16+IP=3000H*10H+2010H=32010H

9、已知某数据存放在存储器数据段中,且其段内偏移量为3535H,数据段DS=1000H,指出此数据在存储器中的物理地址。

此数据物理地址=DS*16+段内偏移地址=1000H*10H+3535H=13535H

10、已知逻辑地址,指出下列存储器地址的、段基址、物理地址。

2000H:

1000H

段内偏移量1000H

段基址2000H

物理地址=段基址*16+段内偏移量=2000H*10H+1000H=21000H

2.1节课本作业P43

(3)总线接口中加法器的作用是什么?

它与执行部件中的加法器在功能上有何差别?

总线接口中加法器:

根据逻辑地址计算20位的物理地址,执行部件中的加法器用于进行数据运算。

(4)设段地址为4ABFH,物理地址为50000H,求有效地址是什么(也称偏移地址)?

有效地址=偏移地址=50000H-4ABF*10H=5410H

(6)已知当前数据段位于存储器的B1000H到C0FFFH范围内,问DS寄存器的内容是什么?

DS=B100H

(7)8086CPU有哪几个状态标志位?

哪几个控制标志位?

他们在什么条件下被置位?

状态标志位:

CFAFPFZFSFOF

控制标志位DFTFIF

置位条件可参考课本。

2.2节补充作业

1、8086的AD0~AD15为地址/数据总线,采用分时方式。

A0~A15为地址总线的低16位,DO~D15为16位数据总线。

2、8086的A16/S3~A19/S6为地址/状态总线,采用分时方式,A16~A20为地址总线的高4位。

3、/RD为读信号。

4、/WR为写信号。

5、ALE为地址锁存信号。

6、说明8086最小模式下系统的三种总线是如何产生的?

答:

1)、地址总线:

由8086CPU的AD0~AD15、A16、A17、A18、A19通过3片地址锁存器8282后构成,提供20条地址线。

2)、数据总线:

直接由8086CPU的AD0~AD15供给16条数据总线。

或者通过两片8286/8287发送/接收接口芯片后构成,这样增大了总线的驱动能力。

3)、控制总线:

直接由8086CPU的控制线供给。

11根

7、画出最小模式下系统的典型配置图。

(参考P28)

2.3节补充作业

1、什么是总线周期?

什么是时钟周期?

总线周期—每当CPU与存储器或I/O端口交换一个字节(或字)数据所需的时间称之为一个总线周期。

时钟周期T:

时钟脉冲CLK的周期.

每个总线周期通常包含4个时钟周期.

2、画出具有等待状态的存储器读时序图,并说明T1、T2、T3、T4状态CPU所做的工作。

⒈T1前下讲沿后

①M/IO变高表存储器读,变低IO接口读

②给出地址,若读存储器数据,则给出20位地址,若为读I/O端口数据,则给出低16位地址(高4位为低)

③ALE变为有效变成高电平,用来将复用线上的地址锁存起来。

④DT/R变低,表示CPU读

⒉T2状态下

①A19/S6~A16/S3引脚输出状态信号S6~S3

②AD15~AD0转为高阻

③RD变低,允许读出

④DEN变低,允许数据传送

3.T3周期

CPU在T3周期的前下降沿判断READY管脚的状态,

1)若READY管脚为高电平,则下一个周期为T4周期;

2)若READY管脚为低电平,CPU在T3周期后加入一个或几个等待周期Tw,直到当在Tw周期的前下降沿判断READY管脚为高电平时,则停止插入Tw,下一个周期为T4周期。

4.T4周期

CPU在T4的前下降沿采样数据线,获取数据。

结束其他控制信号。

4、说明系统复位后,CPU各个段寄存器、标志寄存器F、指针寄存器IP的内容。

系统复位后段寄存器CS=FFFFH,其他各个段寄存器为0,标志寄存器F=0000H,指针寄存器IP=0000H

第三章补充作业

1、抄写P45项目1中第1、4、5、6、21条指令并解释

2、写出8086汇编语言的4种操作数。

立即数、寄存器、存储器、I/O口

3、写出存储器的5种表示形式。

1)、[nn]

2)、[BX]

或[BP]

或[SI]

或[DI]

3)、[BX+DISP]

或[BP+DISP]

或[SI+DISP]

或[DI+DISP]

4)、[BX+SI]

或[BX+DI]

或[BP+SI]

或[BP+DI]

5)、[BX+SI+DISP]

或[BX+DI+DISP]

或[BP+SI+DISP]

或[BP+DI+DISP]

4、什么是指令的寻址方式?

寻找操作数的方式

5、8086/8088指令有哪几种寻址方式?

(1)立即数寻址方式i

例MOVAX,100

(2)寄存器寻址方式rrs

例MOVAX,100

(3)存储器寻址方式m[X]

(4)I/O端口寻址方式

6、写出下列存储器操作数段的隐含约定。

(1)[2000H]DS

(2)[BX]DS

(3)[BP]SS

(4)[SI]DS

(5)[DI]DS

(6)[BX+0200H]DS

(7)[BP+0200H]SS

(8)[SI+0200H]DS

(9)[DI+0200H]DS

(10)[BX+SI]DS

(11)[BX+DI]DS

(12)[BP+SI]SS

(13)[BP+DI]SS

(10)[BX+SI+0100H]DS

(11)[BX+DI+0100H]DS

(12)[BP+SI+0100H]SS

(13)[BP+DI+0100H]SS

8、已知:

有关寄存器及存储器单元的内容如下:

DS=3000H,BX=0820H,SI=0005H,SS=2000H,BP=1000H,[31000]=22H,[31001H]=34H,[30820H]=56H,[31820H]=55H,[30825H]=ABH,[30826H]=6DH,[21000H]=88H

问下列各条指令执行完后,AL或AX寄存器的内容各是什么?

存储器寻址写出逻辑地址、物理地址

(1)MOVAX,1500H

(2)MOVAL,BL

(3)MOVAX,[1000H]

(4)MOVAL,[BX]

(5)MOVAL,1000H[BX]

(6)MOVAX,[BX][SI]

(7)MOVAL,[BP]

(1)AX=1500H

(2)AL=20H

(3)存储器逻辑地址DS:

[1000H]

存储器物理地址=DS*16+1000H=3000H*10H+1000H=31000H

AL=[31000]=22H,AH=[31001H]=34H,所以AX=3422H

(4)存储器逻辑地址DS:

[BX]

存储器物理地址=DS*16+BX=3000H*10H+0820H=30820H

AL=[30820]=56H

(5)存储器逻辑地址DS:

1000H[BX]

存储器物理地址=DS*16+1000H+BX=3000H*10H+1000H+0820H=31820H

AL=[31820]=55H

(6)存储器逻辑地址DS:

[BX][SI]

存储器物理地址=DS*16+BX+SI=3000H*10H+0820H+0005H=30825H

AL=[30825]=ABH,AH=[30826]=6DH,所以AX=6DABH

(7)存储器逻辑地址SS:

[BP]

存储器物理地址=SS*16+BP=2000H*10H+1000H=21000H

AL=[21000]=88H

 

9、读懂P45项目1程序,会解释每句程序。

(实验一)

10、读懂P54项目2程序,用单步调试法指出每句程序的调试结果。

11、对P66页例3-21每句程序进行注释,写出数据段的分布。

19、如何判断键盘是否有键按下?

举例说明

利用BIOS中断

入口参数:

AH=01

中断号:

16H

返回参数:

如ZF=0,AL=字符码,AH=扫描码

如ZF=1,缓冲区空

例:

QQ1:

MOVAH,1;

判断PC键盘是否有按键按下

INT16H

JZQQ1;

无按键则跳回继续循环等待,有键按

下键值在AL中

20、如何显示一个字符?

如何显示一个字符串?

如何返回DOS?

举例说明

(1)如何显示一个字符?

利用DOS中断

AH=02(或06)

DL=字符(用ASCII码表示)

中断号:

21H

MOVAH,02

MOVDL,41H

INT21H;

代表显示A

(2)如何显示一个字符串?

利用DOS中断

入口参数:

AH=09

DS:

DX=字符串地址

中断号:

MOVAH,09

MOVDX,字符串偏移地址

INT21H

(3)如何返回DOS?

AH=4CH

例如:

MOVAX,4C00H

21、现有多个有符号数23、-120、36、780、600、-2000,编制程序,找出最大值并放至指定的MAX存储单元中。

并把数据23、-120、36、780、600、-2000显示出来。

(实验二)

DATASEGMENT

BUFFERDW23、-120、36、780、600、-2000

COUNTEQU($-BUFFER)/2

MAXDW?

用于存放最大值

MES1DB‘23、-120、36、780、600、-2000’,0AH,0DH,’$’

DATAENDS

STACKSEGMENT

DB64DUP(?

TOPEQU$-STACK;

计算出堆栈指针数值

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

BEGIN:

MOVAX,SEGDATA

MOVDS,AX;

初始化DS

MOVAX,SEGSTACK

MOVSS,AX;

初始化SS

MOVSP,TOP

MOVCX,COUNT

LEABX,BUFFER;

初始化指针

MOVAX,[BX]

INCBX

INCBX

DECCX

AGAIN:

CMPAX,[BX];

比较

JGENEXT;

大于等于转

NEXT:

INCBX

INCBX;

改变指针

LOOPAGAIN

MOVMAX,AX

MOVAH,9

LEADX,MES1

INT21H;

显示字符串

MOVAH,1

INT16H

JZQQ1;

等待有无任意键按下

MOVAH,4C

返回DOS结束

CODEENDS

ENDBEGIN

课本作业P1324/5/6/7/9/1017

思考题与练习题

(4)请说明下列指令是否正确,并指出错误原因。

①MOV[2100],[2200H](×

②MOVDH,0001H(∨)

③MOVCX,50H[BX+BP](×

④MOVIP,2456H(×

⑤PUSHDL(×

⑥MOVCS,AX(×

⑦PUSHCS(∨)

⑧MOV3000H,BX(×

⑨MOVES,DS(×

⑩INAX,256(×

(5)如果数据段符号地址DBUF为3100H,并从它开始存放1234H,请问执行以下指令后寄存器AX的内容是什么?

LEAAX,DBUF3100H

MOVAX,DBUFAX=1234H

(6)已知SP=1000H,AX=1122H,BX=3344H,程序段如下:

PUSHAX

PUSHBX

POPBX

POPAX

请问:

①指令PUSHBX执行后SP的内容是什么?

请画出堆栈操作示意图。

SP=FFCH

xx

②指令POPAX执行后请画出堆栈操作示意图。

FFCH

44H

FFDH

33H

FFEH

22H

FFFH

11H

1000HSP

(7)已知AH=B、AL=00000000B。

请问下列每条指令执行后,AH和AL的内容是什么?

对标志位ZF、CF的影响是什么?

①ADDAH,1AH=00000000BZF=1CF=1

②SUBAL,0FDHAL=00000011HBZF=0CF=1

③INCAHAH=00000000BZF=1CF:

不改变

④DECALAL=11111111BZF=0CF:

⑤ANDAH,06HAH=00000110BZF=0CF=0

⑥ORAL,90HAL=00001001BZF=0CF=0

⑦XORAH,0FHAH=11110000BZF=0CF=0

⑧TESTAL,80HAL=00000000BZF=10CF=0

⑨CMPAH,7FHAH=11111111BZF=0CF=0

(9)已知程序段如下,请说明完成什么操作?

MOVCL,3

MOVAL,0F0H

SARAL,CLAL=11111110B

(10)已知AH=0FDH、AL=03,请说明执行下列程序段后,程序将转向哪一个符号地址W1、W2或W3?

ADDAH,ALCF=1OF=0ZF0

JNOW1

JNCW2

JZW3程序将转向符号地址W1

第四章作业

补充作业

1、主存储器的分类。

RAM(SRAM、DRAM)、ROM(掩模ROM、可编程PROM、EPROM、EEPROM)

2、写出RAM的特点、ROM的特点。

RAM的特点:

可随机读写,读写速度快,掉电数据丢失。

ROM的特点:

只能读出不能写入,掉电后数据不丢失。

3、某系统扩展一片6264RAM(8K*8位)与2732ROM(4K*8位),利用74LS138译码器,画出与8088/8086CPU系统总线的连线,并计算出两个芯片的基本地址范围。

课本作业思考题与练习题

(5)常用的存储器片选控制方法有哪几种?

它们各有什么优缺点?

有三种,即全译码法、部分译码法和线选法。

采用全译码法的优点:

是存储器中每一存储单元都有惟一确定的地址;

缺点是译码电路比较复杂。

部分译码法它的优点:

是片选译码电路比较简单;

缺点是存储器空间中存在地址重叠区,使用的时候需要注意。

线选法优点是:

无须使用片选译码器;

缺点是存储器地址空间被分成了相互隔离的区段,造成地址空间的不连续,该编程带来不便。

(7)若要用2114芯片扩充2KBRAM,规定地址为4000~47FFH,地址线应如何连接?

画出连接图。

(8)设计一个具有8KBROM和40KBRAM的存储器。

画出CPU与存储器的连接图。

要求ROM用EPROM芯片2732组成,从0000H地址开始;

RAM用SRAM芯片6264组成,从4000H地址开始。

第五章作业

1、写出I/O接口的功能。

1).实现和不同外设的速度匹配

2).输出数据锁存

3).输入数据三态缓冲

2、写出常用的几个并行接口芯片型号

8255、8155、74LS244、74LS373

3、画出接口电路的典型芯片及其与三种总线的连线图(可参考PPT图5.2)

4、假设8255的A0连接CPU地址总线AB的A0,8255的A1连接CPU地址总线AB的A1,8255的片选CS连接CPU地址总线AB的A3,写出8255芯片PA口、PB口、PC口、控制字口的地址。

实验三

1、在下图中右边第二个数码管中显示6这个数字,画出硬件接线图,编写控制程序。

2、在下图中右边第二个数码管中显示数据段VALULE单元中的数,编写控制程序(VALULE单元中的数据可任意设定为0~F)。

3、利用三种总线、8255、数码管显示单元(见下图)实现4位LED动态显示数据段DISVALUE单元开始存放的4个数。

(4个数据可任意设定为0~F)。

主机按任意键停止显示返回DOS。

完成系统硬件设计及软件编程。

1/2/3硬件接线图

1、控制程序:

CODE

START:

MOVAL,10000000B;

8255方式控制字(PA口输出,PB口输出)

MOVDX,283H;

8255控制字端口地址283H

OUTDX,AL;

8255初始化

MOVAL,00000010B;

MOVDX,280H;

8255PA口地址

OUTDX,AL;

选定最右边第二个数码管,数码管位选

MOVAL,7DH;

6的共阴极码5BH

MOVDX,281H;

8255PB口地址

显示6,数码管段选

BB1:

MOVAH,1

INT16H调用BIOS中断,键盘中断程序

JZBB1;

判断PC键盘是否有按键按下,无按键则跳回继续循环,有则执行下一行指令

MOVAH,4CH

INT21H;

调用DOS中断,返回DOS

ENDSTART

2、在上图中左边第二个数码管中显示数据段VALULE单元中的数,编写控制程序(VALULE单元中的数据可任意设定为0~F)。

硬件接线图参考上题图

控制程序:

DATASEGMENT

VALULEDB8

DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATAENDS;

0~F对应的7段数码管的共阴极段值

CODESEGMENT

ASSUMECS

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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