收藏 分享(赏)

第1-7章作业答案2015.doc

上传人:tkhy51908 文档编号:8182380 上传时间:2019-06-13 格式:DOC 页数:28 大小:992KB
下载 相关 举报
第1-7章作业答案2015.doc_第1页
第1页 / 共28页
第1-7章作业答案2015.doc_第2页
第2页 / 共28页
第1-7章作业答案2015.doc_第3页
第3页 / 共28页
第1-7章作业答案2015.doc_第4页
第4页 / 共28页
第1-7章作业答案2015.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、第一章作业补充作业 11、微型计算机系统是由什么组成的?2、微型计算机是由什么组成的?以微处理器 CPU 为核心,配上只读存储器(ROM)、读写存储器 (RAM)、输入/输出(I/O)接口电路及系统总线等部件,就构成了微型计算机。3、画出微型计算机硬件系统的典型结构图,并写出各部分的作用。微处理器 CPU:用于运算与控制,是微机算机的核心。存储器:用于存储程序与数据。输入输出 I/O 接口电路:是微处理器外部连接的桥梁。三种总线(地址总线 AB、数据总线 DB、控制总线 CB):用于信息的传输。 微 处理 器CPU存 储 器RAM存 储 器ROMAB地 址 总 线DB数 据 总 线CB控 制

2、总 线I/O接 口接 口 输 入设 备输 入设 备 I/O接 口接 口 输 出设 备输 出设 备 I/O接 口接 口微 处 理 器存 储 器I/O接 口总 线硬 件 系 统软 件 系 统微 型计 算 机系 统 微 型计 算 机(主 机 )外 设 ALU寄 存 器控 制 器键 盘 、 鼠 标显 示 器软 驱 、 硬 盘 、 光 驱打 印 机 、 扫 描 仪系 统 软 件应 用 软 件 微 处 理 器存 储 器接 口总 线硬 件 系 统软 件 系 统微 型计 算 机系 统 微 型计 算 机主 机外 设 寄 存 器控 制 器键 盘 、 鼠 标显 示 器软 驱 、 硬 盘 、 光 驱打 印 机 、 扫

3、 描 仪系 统 软 件应 用 软 件4、微处理器是由什么组成的?1)算术逻辑单元(ALU)(Arithmetic Logic Unit)2)控制器3)内部寄存器阵列5、微处理器的性能指标是什么?字长、运算速度 (即计算机主频)6、读懂模型机实现 7+10 的工作过程 。补充作业 21、某存储器有 16 根地址线、8 根数据线,它的容量是多少?216*8 位=2 6KB2、某存储器有 20 根地址线,试问能寻址多少存储单元? 2203、6264RAM 芯片容量为 8K*8 位,问它有多少根地址线?多少根数据线?13 根地址线 8 根数据线4、27128EPROM 芯片容量为 16K*8 位,问它

4、有多少根地址线?多少根数据线?14 根地址线 8 根数据线5、填空 1 KB =( 210 )B, 1 MB =( 220 )B, 1 GB =( 230 )B, 1 TB =( 240 )B课本作业 p17(1)微处理器、微型计算机和微型计算机系统三者之间有什么不同?微处理器 CPU 是系统的核心,完成运算与控制功能;微型计算机是由 CPU、存储器、I/O接口、三种总线构成;微型计算机系统是由微型计算机、外设、软件等构成。(3)填空(1C.3A)16 = 00011100.00111010 B= 34.164 O= 28.2265625 D。(4) 填空(124.95)10 = (11111

5、00.11110011 )2= (174.74 )8=(7C.F3 )16 。(5) 填空(10110111.11)2 =(267.6 )8= ( 183.75 )10=( B7.C )16 。第二章作业2.1 节补充作业:1、 8086CPU 有 16 根数据线,有 20 根地址线,可访问 220=1M 字节 存储器空间。2、8086CPU 芯片哪两部分构成?每部分又包含哪些部件?答:由执行单元(EU) 、总线接口单元( BIU)两部分构成执行单元(EU)包含: 16 位算术逻辑单元 ALU(运算器)8 个 16 位通用寄存器(AX、BX、CX、DX、SP、 BP、SI、DI)1 个 16

6、位标志寄存器 FLAGS执行部分控制电路总线接口单元(BIU)包含: 4 个 16 位段寄存器(DS 、CS、 ES 、SS )1 个 16 位指令指针寄存器 IP20 位地址加法器6 字节指令队列缓冲器3、8086CPU 内部的 14 个寄存器都是什么?答:AX、BX、CX、DX、SP、BP、SI、DI,FLAGS, DS、CS、 ES 、SS,IP4、存储器如何分段?答:1、把 1M 字节存储器空间分成若干个段,每个段的容量=64K 字节。每段内地址(也称偏移地址)可以用 16 位地址表示出来。2、每个段的起始地址低 4 位必须为 0,高 16 位地址放在 16 位的段寄存器内,称为段基址

7、,段寄存器分别为 CS、DS 、SS 和 ES,段基址存放在这 4 个段寄存器中。3、每个段不一定都是 64KB,可以小于它,且每个段可以分开,也可以重叠。5、存储器中各个段如何命名?答:通常一个程序中通常有代码段、堆栈段、数据段、附加段.代码段:用于存放程序。代码段段基址在 代码段寄存器 CS 中。堆栈段:用于存放一些特殊数据。堆栈段段基址在堆栈段寄存器 SS 中。数据段:用于存放一些数据。数据段段基址在数据段寄存器 DS 中。附加段:用于存放一些数据。附加段段基址在附加段寄存器 ES 中。6、在程序或指令中存储器各个段的地址用逻辑地址表示,写出各个段的逻辑地址表示方法。逻辑地址格式为:段基

8、址:偏移地址代码段逻辑地址 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=32010H9、已知某数据存放在存储器数据段中,且其段内偏移量为 3535H,

9、数据段 DS=1000H,指出此数据在存储器中的物理地址。答:此数据物理地址= DS*16+段内偏移地址=1000H*10H+3535H=13535H10、已知逻辑地址,指出下列存储器地址的、段基址、物理地址。 2000H:1000H答:段内偏移量 1000H段基址 2000H物理地址=段基址*16+ 段内偏移量=2000H*10H+1000H=21000H2.1 节课本作业 P43(3)总线接口中加法器的作用是什么?它与执行部件中的加法器在功能上有何差别?答:总线接口中加法器:根据逻辑地址计算 20 位的物理地址,执行部件中的加法器用于进行数据运算。(4)设段地址为 4ABFH,物理地址为

10、50000H,求有效地址是什么 (也称偏移地址)?答:有效地址=偏移地址=50000H-4ABF*10H=5410H(6)已知当前数据段位于存储器的 B1000H 到 C0FFFH 范围内,问 DS 寄存器的内容是什么?答:DS=B100H(7)8086 CPU 有哪几个状态标志位?哪几个控制标志位?他们在什么条件下被置位?答:状态标志位:CF AF PF ZF SF OF控制标志位 DF TF IF置位条件可参考课本。2.2 节补充作业1、 8086 的 AD0AD15 为 地址/数据 总线,采用分时方式。A0A15 为地址总线的低 16 位,DOD15 为 16 位数据总线。2、 8086

11、 的 A16/S3A19/S6 为 地址/状态 总线,采用分时方式,A16A20 为地址总线的高 4 位。 3、/RD 为 读 信号。4、/WR 为 写 信号。5、ALE 为 地址锁存 信号。6、说明 8086 最小模式下系统的三种总线是如何产生的?答:1) 、 地址总线:由 8086CPU 的 AD0AD15、A16、A17、A18、A19 通过 3 片地址锁存器 8282 后构成,提供 20 条地址线。2) 、数据总线:直接由 8086CPU 的 AD0AD15 供给 16 条数据总线。 或者通过两片8286/8287 发送/接收接口芯片后构成,这样增大了总线的驱动能力。3) 、控制总线:

12、直接由 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 位地址(高

13、4 位为低)ALE 变为有效变成高电平,用来将复用线上的地址锁存起来。DT/R 变低,表示 CPU 读 T2 状态下A19/S6A16/S3 引脚输出状态信号 S6S3AD15AD0 转为高阻RD 变低,允许读出DEN 变低,允许数据传送3. T3 周期CPU 在 T3 周期的前下降沿判断 READY 管脚的状态,1)若 READY 管脚为高电平,则下一个周期为 T4 周期;T1 T2 TWT4CLKIO/MA19A16/S6S3BHEAD15AD0ALERDDT/RDEN高 IO 低 MA19A16 S6S3A15A0 DAT INT3WAITREADYREADY 插 入 TW状 态 的 存

14、 储 器 读 周 期高 低插 入 状 态 的 存 储 器 读 周 期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

15、 中第 1、4、5、6、21 条指令并解释2、写出 8086 汇编语言的 4 种操作数。答: 立即数、寄存器、存储器、I/O 口3、写出存储器的 5 种表示形式。答:1) 、nn2) 、BX或BP或SI或DI3) 、BX+ DISP或BP+ DISP或SI+ DISP或DI+ DISP4) 、BX+ SI或BX+ DI或BP+ SI或BP+ DI5) 、BX+ SI+DISP或BX+ DI+DISP或BP+ SI+DISP或BP+ DI+DISP4、什么是指令的寻址方式?寻找操作数的方式5、8086/8088 指令有哪几种寻址方式?答:(1)立即数寻址方式 i 例 MOV AX,100(2)寄

16、存器寻址方式 r rs 例 MOV AX,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 SS8、已知

17、:有关寄存器及存储器单元的内容如下: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) MOV AX,1500H(2) MOV AL,BL(3) MOV AX,1000H(4) MOV AL,BX (5) MOV AL,1000HBX (6) MOV AX,BXSI (7) MOV AL,BP 答:

18、(1)AX=1500H(2)AL=20H(3)存储器逻辑地址 DS:1000H存储器物理地址=DS*16+1000H=3000H*10H+1000H=31000HAL=31000=22H,AH= 31001H=34H ,所以 AX=3422H(4)存储器逻辑地址 DS:BX存储器物理地址=DS*16+BX=3000H*10H+0820H=30820HAL=30820=56H(5)存储器逻辑地址 DS:1000HBX存储器物理地址=DS*16+1000H+BX=3000H*10H+1000H+0820H=31820HAL=31820=55H(6)存储器逻辑地址 DS: BXSI存储器物理地址=D

19、S*16+BX+SI=3000H*10H+0820H+0005H=30825HAL=30825=ABH,AH=30826=6DH ,所以 AX=6DABH(7)存储器逻辑地址 SS: BP存储器物理地址=SS*16+BP=2000H*10H+1000H=21000HAL=21000=88H9、读懂 P45 项目 1 程序,会解释每句程序。 (实验一)10、读懂 P54 项目 2 程序,用单步调试法指出每句程序的调试结果。11、对 P66 页例 3-21 每句程序进行注释,写出数据段的分布。19、如何判断键盘是否有键按下?举例说明答:利用 BIOS 中断 入口参数:AH=01中断号: 16H返回

20、参数:如 ZF=0,AL=字符码,AH= 扫描码;如 ZF=1,缓冲区空例:QQ1:MOV AH,1 ;判断 PC 键盘是否有按键按下INT 16HJZ QQ1 ;无按键则跳回继续循环等待,有键按 下键值在 AL 中20、如何显示一个字符?如何显示一个字符串?如何返回 DOS? 举例说明(1)如何显示一个字符?答: 利用 DOS 中断入口参数:AH=02(或 06)DL=字符(用 ASCII 码表示)中断号: 21H例: MOV AH,02MOV DL,41HINT 21H;代表显示 A(2)如何显示一个字符串?答:利用 DOS 中断入口参数:AH=09DS:DX=字符串地址中断号: 21H例

21、:MOV AH,09MOV DX, 字符串偏移地址INT 21H(3)如何返回 DOS?答:利用 DOS 中断入口参数:AH=4CH中断号: 21H例如:MOV AX,4C00HINT 21H21、现有多个有符号数 23、-120、36、780、600、-2000,编制程序,找出最大值并放至指定的 MAX 存储单元中。并把数据 23、-120 、36、780、600、-2000 显示出来。 (实验二)DATA SEGMENTBUFFER DW 23、-120 、36、780、600、-2000COUNT EQU ($-BUFFER)/2MAX DW ? ;用于存放最大值MES1 DB 23、-

22、120、36、780、600、-2000,0AH,0DH,$DATA ENDSSTACK SEGMENT DB 64 DUP(?)TOP EQU $-STACK;计算出堆栈指针数值STACK ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKBEGIN:MOV AX,SEG DATAMOV DS,AX ;初始化 DS MOV AX,SEG STACKMOV SS,AX ;初始化 SS MOV SP,TOPMOV CX,COUNTLEA BX,BUFFER ;初始化指针 MOV AX,BXINC BXINC BX DEC CXAGAIN:CMP AX

23、,BX ;比较JGE NEXT ;大于等于转MOV AX,BXNEXT:INC BX INC BX;改变指针LOOP AGAINMOV MAX,AXMOV AH,9LEA DX,MES1 INT 21H ;显示字符串QQ1: MOV AH,1INT 16HJZ QQ1 ;等待有无任意键按下MOV AH,4CINT 21H ;返回 DOS 结束CODE ENDSEND BEGIN 课本作业 P132 4/5/6/7/9/1017思考题与练习题(4)请说明下列指令是否正确,并指出错误原因。MOV 2100,2200H () MOV DH,0001H () MOV CX ,50HBX+BP () M

24、OV IP,2456H () PUSH DL() MOV CS,AX() PUSH CS() MOV 3000H,BX() MOV ES,DS ( ) IN AX,256()(5) 如果数据段符号地址 DBUF 为 3100H,并从它开始存放 1234H,请问执行以下指令后寄存器 AX 的内容是什么?LEA AX,DBUF 3100HMOV AX,DBUF AX=1234H(6) 已知 SP=1000H,AX=1122H,BX=3344H,程序段如下: PUSH AXPUSH BXPOP BXPOP AX请问: 指令 PUSH BX 执行后 SP 的内容是什么?请画出堆栈操作示意图。SP=FF

25、CH 指令 POP AX 执行后请画出堆栈操作示意图。(7)已知 AH=B、AL=0000 0000B。请问下列每条指令执行后,AH 和 AL 的内容是什么?对标志位 ZF、CF 的影响是什么? ADD AH,1 AH=00000000B ZF=1 CF=1 SUB AL,0FDH AL=00000011HB ZF=0 CF=1 INC AH AH=00000000B ZF=1 CF:不改变 DEC AL AL=11111111B ZF=0 CF:不改变 AND AH,06H AH=00000110B ZF=0 CF=0 OR AL,90H AL=00001001B ZF=0 CF=0 XOR

26、 AH,0FH AH=11110000B ZF=0 CF=0 TEST AL,80H AL=0000 0000B ZF=10 CF=022H11H44H33Hxxxx 1000HFFFHFFEHFFDHFFCH SP22H11H44H33Hxxxx 1000H SPFFFHFFEHFFDHFFCH CMP AH,7FH AH=1111 1111B ZF=0 CF=0(9) 已知程序段如下,请说明完成什么操作?MOV CL,3MOV AL,0F0HSAR AL,CL AL=1111 1110B(10) 已知 AH=0FDH、AL=03 ,请说明执行下列程序段后,程序将转向哪一个符号地址 W1、W

27、2 或 W3?ADD AH,AL CF=1 OF=0 ZF 0JNO W1JNC W2JZ W3 程序将转向符号地址 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 系统总线的连线,并计算出两个芯片

28、的基本地址范围。AB地 址 总 线 A0A19DB数 据 总 线CB控 制 总 线A0A12ABCG2BG2AG1Y0Y1Y2Y3Y4Y5Y6Y7A15M/IOA1474LS138译 码 器D0D15OEIO1IO8WECS6264000H01FFHA0A12 OEIO1IO8CS27320200H02FFHA0A1A0A1D0D7 D0D7RD WRA18A17A19OEA15A13A13A16课本作业 思考题与练习题(5)常用的存储器片选控制方法有哪几种?它们各有什么优缺点?答:有三种,即全译码法、部分译码法和线选法。采用全译码法的优点:是存储器中每一存储单元都有惟一确定的地址;缺点是译码

29、电路比较复杂。部分译码法它的优点:是片选译码电路比较简单;缺点是存储器空间中存在地址重叠区,使用的时候需要注意。线选法优点是:无须使用片选译码器;缺点是存储器地址空间被分成了相互隔离的区段,造成地址空间的不连续,该编程带来不便。(7)若要用 2114 芯片扩充 2KB RAM,规定地址为 400047FFH ,地址线应如何连接?画出连接图。 A19A18A17A16A15A14A13A12A1A10A9A8A7A6A5A4A3A2A1A02732片 内 地 址接 入 138译码 器 地 址6264 0 0 0 00 0 000 0 0 0 0 0 0 0 0 0 0 00 0 0 00 0 0

30、 11 1 1 1 1 1 1 1 1 1 1 1最 小 000H最 大 01FFH 2732 0 0 0 00 0 1x 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 0 1x 1 1 1 1 1 1 1 1 1 1 1 1最 小 0200H最 大 02FFH6264片 内 地 址地 址 范 围6264无 重 叠 地 址(8)设计一个具有 8KB ROM 和 40KB RAM 的存储器。画出 CPU 与存储器的连接图。要求 ROM 用 EPROM 芯片 2732 组成,从 0000H 地址开始;RAM 用 SRAM 芯片 6264 组成,从 4000H 地址开始。第五章作业

31、补充作业补充作业1、写出 I/O 接口的功能。答:1).实现和不同外设的速度匹配2). 输出数据锁存3). 输入数据三态缓冲2、写出常用的几个并行接口芯片型号答:8255 、8155、74LS244、74LS3733、画出接口电路的典型芯片及其与三种总线的连线图(可参考 PPT 图 5.2)答:4、假设 8255 的 A0 连接 CPU 地址总线 AB 的 A0, 8255 的 A1 连接 CPU 地址总线 AB 的 A1, 8255 的片选 CS 连接 CPU 地址总线 AB 的 A3,写出 8255 芯片PA 口、PB 口、 PC 口、控制字口的地址。答:实验三1、在下图中右边第二个数码管

32、中显示 6 这个数字,画出硬件接线图,编写控制程序。2、在下图中右边第二个数码管中显示数据段 VALULE 单元中的数,编写控制程序(VALULE 单元中的数据可任意设定为 0F) 。 3 、利用三种总线、8255 、数码管显示单元(见下图)实现 4 位 LED 动态显示数据段 DISVALUE 单元开始存放的 4 个数。 (4 个数据可任意设定为 0F) 。主机按任意键停止显示返回 DOS。完成系统硬件设计及软件编程。X X , 0X0 PA端 口 地 址 0H B端 口 地 址 1 控 制 字 端 口 地 址 03H A7 6 A5 4 A32 A1 0825接 口片 内 地 址A158

33、X , 0 0 1X X , X , 0 1PC端 口 地 址 2 X 825片选 CS 答:1/2/3 硬件接线图abcdefghSabcdefghSabcdefghS74LS24ADPBGDCEF段 选abcdef g dp实 验 室 设 备825PB0PB7PA0位 选 共 阴 极数 码 管S7 S0S1150*8P1PA7PC0PC71、控制程序:CODE SEGMENTASSUME CS:CODESTART:MOV AL,10000000B ;8255 方式控制字(PA 口输出,PB 口输出 )MOV DX,283H ;8255 控制字端口地址 283H OUT DX,AL ; 82

34、55 初始化MOV AL,00000010B ; 825 PB口 为 输 出 口 , PA口 为 输 出 口825方 式 控 制 字 : 10000B 80H0 0 , 0 X 0 0 PA端 口 地 址 0280H PB端 口 地 址 0281H 控 制 字 端 口 地 址 0283H A5 A4 A3 A2 A1 A0接 口 片内 地 址A15A6 825接 口 芯 片 各 端 口 地 址00 010 10 0 11 01 1 PC端 口 地 址 0282H 138译 码 器片 选 接 Y0MOV DX,280H ;8255 PA 口地址 OUT DX ,AL ;选定最右边第二个数码管,数

35、码管位选MOV AL,7DH ;6 的共阴极码 5BH MOV DX,281H ;8255 PB 口地址 OUT DX,AL ;显示 6,数码管段选BB1: MOV AH,1 INT 16H 调用 BIOS 中断,键盘中断程序JZ BB1 ;判断 PC 键盘是否有按键按下,无按键则跳回继续循环,有则执行下一行指令MOV AH,4CH INT 21H ; 调用 DOS 中断, 返回 DOSCODE ENDSEND START2、在上图中左边第二个数码管中显示数据段 VALULE 单元中的数,编写控制程序(VALULE 单元中的数据可任意设定为 0F) 。 硬件接线图参考上题图控制程序:DATA

36、SEGMENTVALULE DB 8DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDS ; 0F 对应的 7 段数码管的共阴极段值CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,10000000B ;8255 方式控制字(PA 口输出,PB 口输出 )MOV DX,283H ;8255 控制字端口地址 283H OUT DX,AL ; 8255 初始化MOV AL,00000001B ; M

37、OV DX,280H ;8255 PA 口地址 OUT DX ,AL ;选定最右边数码管,数码管位选MOV AL, VALULE ;取出要显示的数 AND AX,00FFHMOV BX,OFFSET DTABLEADD BX,AX MOV AL,BX; 查询段值表得到相应的段值 MOV DX,281H ;8255 PB 口地址 OUT DX,AL 数码管段选BB1: MOV AH,1 INT 16H 调用 BIOS 中断,键盘中断程序JZ BB1 ;判断 PC 键盘是否有按键按下,无按键则跳回继续循环,有则执行下一行指令MOV AH,4CH INT 21H ; 调用 DOS 中断, 返回 DO

38、SCODE ENDSEND START3、利用三种总线、8255、键盘及数码管显示单元(见上图)实现 4 位 LED动态显示数据段 DISVALUE 单元开始存放的 4 个数。 (4 个数据可任意设定为0F) 。主机按任意键停止显示返回 DOS。完成系统硬件设计及软件编程。硬件接线图参考上题图控制程序:DATA SEGMENTDISVALUE DB 4,5,6,7DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDS ; 0F 对应的 7 段数码管的共阴极数码表CODE SEGME

39、NTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,10000000B ;8255 方式控制字(PA 口输出,PB 口输出 )MOV DX,283H ;8255 控制字端口地址 283H OUT DX,AL ; 8255 初始化CC1: CALL DIS ;调用显示子程序QQ1: MOV AH,1 INT 16H 调用 BIOS 中断,键盘中断程序JZ CC1 ;判断 PC 键盘是否有按键按下,无按键则跳回继续循环,有则执行下一行指令MOV AH,4C ;调用 DOS 中断, 返回 DOSINT 21H ;调用 DOS 中断, 返

40、回 DOSDIS PROC NEAR ;显示子程序PUSH AX MOV SI,OFFSET DISVALUE MOV DL,00001000B;DL 中暂存位选码MOV AL,DLAGAIN: PUSH DXMOV DX,280H ;8255 PA 口地址 OUT DX ,AL ; 选通一个数码管,数码管位选MOV AL,SI ;取出缓冲区中存放的数 AND AX,00FFHMOV BX,OFFSET DTABLEADD BX,AX MOV AL,BX ;得到要显示数的共阴极码MOV DX,281H ;8255 PB 口地址 OUT DX,AL 数码管段选CALL DALLYINC SI ;

41、取下一个值POP DX MOV AL,DLTEST AL,00000001B ;判断是否显示完?JNZ OUT1 ;显示完,返回ROR AL,1 MOV DL,ALJMP AGAIN ;未显示完,跳回继续OUT1: POP AX RETDIS ENDPDALLY PROC ;软件延时子程序PUSH CXMOV CX,00FFHD1: MOV AX,00FFHD2: DEC AXJNZ D2LOOP D1POP CXRETDALLY ENDPCODE ENDSEND START课本作业 p187 2/3/5/7 思考题与练习题(2) 8255A 有哪些编程命令字?其命令格式及每位的含义是什么?试

42、举例说明。8255A 共有两种控制字: 工作方式选择控制字,可使 8255A 的 3 个数据端口工作在不同的方式。 端口 C 按位置位/复位控制字,它可使 C 端口中的任何一位进行置位或复位。工作方式选择控制字格式及各位含义如下:端口 C 按位置位复位控制字可实现对端口 C 的每一位进行控制。置位是使该位为 1,复位是使该位为 0。控制字的格式及各位含义如图(3)假定 8255A 的端口地址分别为 208H20FH,编写下列各情况的初始化程序: 将 A 口、B 口设置成方式 0,端口 A 和 C 作为输入口,B 口作为输出口。 将 A 口设置成方式 1 输入口,PC6、PC7 作为输出端; B

43、 口设置成方式 1,输入口。答:假设 8255 的 A0、A1 连接到地址总线的 A0、A1,则 8255 PA 口地址为208H, 8255 PB 口地址为 209H, 8255 PB 口地址为 20AH, 8255 控制字口地址为20BH(1) 控制字: 10011001BMOV DX, 020BH ; 8255 控制字口地址为 20BHMOV AL, 10011001B ; 8255 控制字为 10011001BOUT DX , AL ;把 10011001B 从 CPU 送出到 8255 控制字,对 8255 初始化。(2) 控制字: 10110110BMOV DX, 020BH ;

44、8255 控制字口地址为 20BHMOV AL, 10110110B ; 8255 控制字为 10110110BOUT DX , AL ;把 10110110B 从 CPU 送出到 8255 控制字,对 8255 初始化。(5) 在 Inter8255A 中可以进行按位置位/复位的端口是 _PC 口_。第六章作业补充作业:1、简述什么是中断?什么是中断程序?什么是断点?什么是中断源?答:当 CPU 在执行程序时,由内部或外部的原因引起的随机事件要求 CPU 暂时停止正在执行的程序,而转向执行一个用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继续执行,这一过程就称为中断。中断服务:中

45、断之后所执行的相应的处理程序通常称之为中断服务或中断处理程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为“断点” 。引起中断的原因,或能发出中断申请的来源,称为“中断源” 。2、写出一般 CPU 的中断过程(4 步) 。(P192)第一步、保护断点 。将断点处的标志寄存器 PSW 与 PC 值(即下一条应执行指令的地址)压入堆栈保留下来(这由硬件自动执行) 。第二步、保护现场。将有关的寄存器内容压入堆栈保留下来(这由用户自己编程完成) 。第三步、 执行中断服务程序。第四步 、中断返回,CPU 将继续执行原主程序。3、什么是中断类型号?什么是中断矢量?什么是中断矢量表?画出中

46、断矢量表的结构图?(P193 )答:中断类型号:就是为每个中断源指定一个编号 ,称为中断类型号。中断矢量: 每一个中断服务程序有一个确定的入口地址,该地址称为中断矢量。中断矢量表: 把系统中所有的中断矢量集中起来,按中断类型号从小到大的顺序安排到存储器的某一个区域内,这个存放中断矢量的存储区叫中断矢量表。4、8086CPU 有哪几种中断?(画出 P196 图 6-8)课本作业 P220 2/3/5(2) 简述非屏蔽中断 NMI 和屏蔽中断 INTR 的区别。屏蔽中断 INTR 的响应受状态控制字 IF 的控制,所以它可屏蔽非屏蔽中断 NMI 的响应不受状态控制字 IF 的控制,所以它不能屏蔽(

47、3) 中断矢量表的功能是什么?已知中断类型号分别为 88H 和 AAH,他们的中断服务程序入口地址在中断矢量表的什么位置上?答: 把系统中所有的中断矢量集中起来,按中断类型号从小到大的顺序安排到存储器的某一个区域内,这个存放中断矢量的存储区叫中断矢量表。中断类型号为 88H 在中断矢量表的位置:220H 开始 4 个字节88H=10001000B 左移 2 位变成 1000100000B=220H中断类型号为 AAH 在中断矢量表的位置:2A8H 开始 4 个字节AAH=10101010B 左移 2 位变成 1010101000B=2A8H(5) 设可屏蔽中断的中断类型号为 09H,它的中断服务程序的入口地址为0020H(段地址) 和 0040H(偏移量) ,试用 8086 汇编语言程序

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报