




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章作业 补充作业 1 1 微型计算机系统是由什么组成的 2 微型计算机是由什么组成的 以微处理器 CPU 为核心 配上只读存储器 ROM 读写存储器 RAM 输入 输出 I O 接口电路及系统总线等部件 就构成了微型计算机 3 画出微型计算机硬件系统的典型结构图 并写出各部分的作用 微处理器 CPU 用于运算与控制 是微机算机的核心 存储器 用于存储程序与数据 输入输出 I O 接口电路 是微处理器外部连接的桥梁 三种总线 地址总线 AB 数据总线 DB 控制总线 CB 用于信息的传输 微处 理器 CPU 存储器 RAM 存储器 ROM AB地址总线 DB数据总线 CB控制总线 I O 接口 I O 接口 输入 设备 输入 设备 I O 接口 I O 接口 输出 设备 输出 设备 I O 接口 I O 接口 微微处处理理器器 存储器 I O接口 总线 硬件系统 软件系统 微微型型 计计算算机机 系系统统 微微型型 计计算算机机 主主机机 外 设 ALU 寄存器 控制器 键盘 鼠标 显示器 软驱 硬盘 光驱 打印机 扫描仪 系统软件 应用软件 微微处处理理器器 存储器 I O接口 总线 硬件系统 软件系统 微微型型 计计算算机机 系系统统 微微型型 计计算算机机 主主机机 外 设 ALU 寄存器 控制器 键盘 鼠标 显示器 软驱 硬盘 光驱 打印机 扫描仪 系统软件 应用软件 4 微处理器是由什么组成的 1 算术逻辑单元 ALU Arithmetic Logic Unit 2 控制器 3 内部寄存器阵列 5 微处理器的性能指标是什么 字长 运算速度运算速度 即计算机主频 6 读懂模型机实现 7 10 的工作过程 补充作业 2 1 某存储器有 16 根地址线 8 根数据线 它的容量是多少 216 8 位 26KB 2 某存储器有 20 根地址线 试问能寻址多少存储单元 220 3 6264RAM 芯片容量为 8K 8 位 问它有多少根地址线 多少根数据线 13 根地址线 8 根数据线 4 27128EPROM 芯片容量为 16K 8 位 问它有多少根地址线 多少根数据线 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 1111100 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 位标志寄存器位标志寄存器 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 8086 CPU 有哪几个状态标志位 哪几个控制标志位 他们在什么条件下被置位 答 状态标志位 CF AF PF ZF SF OF 控制标志位 DF TF IF 置位条件可参考课本 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 周期 T1T2TWT4 CLK IO M A19 A16 S6 S3 BHE AD15 AD0 ALE RD DT R DEN 高IO 低M A19 A16S6 S3 A15 A0DATA IN T3 WAIT READY READY 插入TW状态的存储器读周期 T1T2TWT4 CLK IO M A19 A16 S6 S3 BHE AD15 AD0 ALE RD DT R DEN 高IO 低M A19 A16S6 S3 A15 A0DATA IN T3 WAIT READY READY 插入TW状态的存储器读周期 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 例 MOV AX 100 2 寄存器寻址方式 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 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 MOV AX 1500H 2 MOV AL BL 3 MOV AX 1000H 4 MOV AL BX 5 MOV AL 1000H BX 6 MOV AX BX SI 7 MOV AL 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 MOV AH 1 判断 PC 键盘是否有按键按下 INT 16H JZ QQ1 无按键则跳回继续循环等待 有键按 下键值在 AL 中 20 如何显示一个字符 如何显示一个字符串 如何返回 DOS 举例说明 1 如何显示一个字符 答 利用 DOS 中断 入口参数 AH 02 或 06 DL 字符 用 ASCII 码表示 中断号 21H 例 MOVAH 02 MOVDL 41H INT 21H 代表显示 A 2 如何显示一个字符串 答 利用 DOS 中断 入口参数 AH 09 DS DX 字符串地址 中断号 21H 例 MOVAH 09 MOVDX 字符串偏移地址 INT21H 3 如何返回 DOS 答 利用 DOS 中断 入口参数 AH 4CH 中断号 21H 例如 MOV AX 4C00H INT 21H 21 现有多个有符号数 23 120 36 780 600 2000 编制程序 找出最 大值并放至指定的 MAX 存储单元中 并把数据 23 120 36 780 600 2000 显示出来 实验二 DATA SEGMENT BUFFER DW 23 120 36 780 600 2000 COUNT EQU BUFFER 2 MAX DW 用于存放最大值 MES1 DB 23 120 36 780 600 2000 0AH 0DH DATA ENDS STACK SEGMENT DB 64 DUP TOP EQU STACK 计算出堆栈指针数值 STACK ENDS CODE SEGMENT ASSUME CS CODE DS DATA SS STACK BEGIN MOV AX SEG DATA MOV DS AX 初始化 DS MOV AX SEG STACK MOV SS AX 初始化 SS MOV SP TOP MOV CX COUNT LEA BX BUFFER 初始化指针 MOV AX BX INC BX INC BX DEC CX AGAIN CMP AX BX 比较 JGE NEXT 大于等于转 MOV AX BX NEXT INC BX INC BX 改变指针 LOOP AGAIN MOV MAX AX MOV AH 9 LEA DX MES1 INT 21H 显示字符串 QQ1 MOV AH 1 INT 16H JZ QQ1 等待有无任意键按下 MOV AH 4C INT 21H 返回 DOS 结束 CODE ENDS END BEGIN 课本作业 P132 4 5 6 7 9 1017 思考题与练习题思考题与练习题 4 请说明下列指令是否正确 并指出错误原因 MOV 2100 2200H MOV DH 0001H MOV CX 50H BX BP MOV 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 3100H MOV AX DBUF AX 1234H 6 已知 SP 1000H AX 1122H BX 3344H 程序段如下 PUSH AX PUSH BX POP BX POP AX 请问 指令 PUSH BX 执行后 SP 的内容是什么 请画出堆栈操作示意图 SP FFCH 指令 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 AH 0FH AH 11110000B ZF 0 CF 0 TEST AL 80H AL 0000 0000B ZF 10 CF 0 22H 11H 44H 33H xx xx1000H FFFH FFEH FFDH FFCH SP 22H 11H 44H 33H xx xx1000H SP FFFH FFEH FFDH FFCH CMP AH 7FH AH 1111 1111B ZF 0 CF 0 9 已知程序段如下 请说明完成什么操作 MOV CL 3 MOV AL 0F0H SAR AL CL AL 1111 1110B 10 已知 AH 0FDH AL 03 请说明执行下列程序段后 程序将转向哪一 个符号地址 W1 W2 或 W3 ADD AH AL CF 1 OF 0 ZF 0 JNO W1 JNC W2 JZ 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 系统总线的连线 并计算出两个芯片 的基本地址范围 AB地址总线A0 A19 DB数据总线 CB控制总线 A0 A12 A B C G2B G2A G1 Y0Y0 Y1Y1 Y2Y2 Y3Y3 Y4Y4 Y5Y5 Y6Y6 Y7Y7 A15 M IO A14 74LS138 译码器 D0 D15 OE IO1 IO8 WE CS 6264 00000H 01FFFH A0 A12 OEOE IO1 IO8 WEWE CSCS 6264 00000H 01FFFH A0 A12 OEOE IO1 IO8 CSCS 2732 02000H 02FFFH A0 A11 A0 A11 D0 D7 D0 D7 RD WR A18 A17 A19 OEOE A15 A13 A13 A16 课本作业 思考题与练习题思考题与练习题 5 常用的存储器片选控制方法有哪几种 它们各有什么优缺点 答 有三种 即全译码法 部分译码法和线选法 采用全译码法的优点 是存储器中每一存储单元都有惟一确定的地址 缺 点是译码电路比较复杂 部分译码法它的优点 是片选译码电路比较简单 缺点是存储器空间中存 在地址重叠区 使用的时候需要注意 线选法优点是 无须使用片选译码器 缺点是存储器地址空间被分成了相 互隔离的区段 造成地址空间的不连续 该编程带来不便 7 若要用 2114 芯片扩充 2KB RAM 规定地址为 4000 47FFH 地址线应 如何连接 画出连接图 A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 2732片内地址 接入138译 码器地址 6264 0 0 0 00 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 11 1 1 1 1 1 1 1 1 1 1 1 最小00000H 最大01FFFH 2732 0 0 0 00 0 1x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1x 1 1 1 1 1 1 1 1 1 1 1 1 最小02000H 最大02FFFH 6264片内地址 地址范围 6264无重叠地址 8 设计一个具有 8KB ROM 和 40KB RAM 的存储器 画出 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 完成系统硬件设计及软件编程 X X X X 0X0 0PA端口地址 0000H PB端口地址 0001H 控制字端口地址 0003H A7 A6 A5 A4 A3A2 A1 A0 8255接口 片内地址 A15 A8 XXXXXXXX X X X X 0X 0 1 X X X X 0X 1 0 X X X X 0X 1 1 PC端口地址 0002H XXXXXXXX XXXXXXXX XXXXXXXX 8255片 选CS 答 答 1 2 3 硬件接线图硬件接线图 abc defgh S abc defgh S abc defgh S a bc defgh S a bc defgh S 74LS24474LS244 A DP B G D C E F 段选 a b c d e f g dp 实验室设备 8255 PB0 PB7 PA0 位选 共 阴 极 数码管 S7 S0S1 150 8 PA1 PA7 PC0 PC7 1 控制程序 CODE SEGMENT ASSUME CS CODE START MOV AL 10000000B 8255 方式控制字 PA 口输出 PB 口输出 MOV DX 283H 8255 控制字端口地址 283H OUT DX AL 8255 初始化 MOV AL 00000010B 8255 PB口为输出口 PA口为输出口 8255方式控制字 10000000B 80H 0 0 0 X 0 0PA端口地址 0280H PB端口地址 0281H 控制字端口地址 0283H A5 A4 A3 A2 A1 A0 接口片 内地址 A15 A6 8255接口芯片各端口地址 0000 0010 10 0 1 1 0 1 1 PC端口地址 0282H 138译码器 片选接Y0 MOV DX 280H 8255 PA 口地址 OUT DX AL 选定最右边第二个数码管 数码管位选 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 中断 返回 DOS CODE ENDS END START 2 在上图中左边第二个数码管中显示数据段 VALULE 单元中的数 编写控制 程序 VALULE 单元中的数据可任意设定为 0 F 硬件接线图参考上题图 控制程序 DATA SEGMENT VALULE DB 8 DTABLE DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H DB 7FH 6FH 77H 7CH 39H 5EH 79H 71H DATA ENDS 0 F 对应的 7 段数码管的共阴极段值 CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV AL 10000000B 8255 方式控制字 PA 口输出 PB 口输 出 MOV DX 283H 8255 控制字端口地址 283H OUT DX AL 8255 初始化 MOV AL 00000001B MOV DX 280H 8255 PA 口地址 OUT DX AL 选定最右边数码管 数码管位选 MOV AL VALULE 取出要显示的数 AND AX 00FFH MOV BX OFFSET DTABLE ADD 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 中断 返回 DOS CODE ENDS END START 3 利用三种总线 8255 键盘及数码管显示单元 见上图 实现 4 位 LED 动态显示数据段 DISVALUE 单元开始存放的 4 个数 4 个数据可任意设定为 0 F 主机按任意键停止显示返回 DOS 完成系统硬件设计及软件编程 硬件接线图参考上题图 控制程序 DATA SEGMENT DISVALUE DB 4 5 6 7 DTABLE DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H DB 7FH 6FH 77H 7CH 39H 5EH 79H 71H DATA ENDS 0 F 对应的 7 段数码管的共阴极数码表 CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV 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 中断 返回 DOS INT 21H 调用 DOS 中断 返回 DOS DIS PROC NEAR 显示子程序 PUSH AX MOV SI OFFSET DISVALUE MOV DL 00001000B DL 中暂存位选码 MOV AL DL AGAIN PUSH DX MOV DX 280H 8255 PA 口地址 OUT DX AL 选通一个数码管 数码管位选 MOV AL SI 取出缓冲区中存放的数 AND AX 00FFH MOV BX OFFSET DTABLE ADD BX AX MOV AL BX 得到要显示数的共阴极码 MOV DX 281H 8255 PB 口地址 OUT DX AL 数码管段选 CALL DALLY INC SI 取下一个值 POP DX MOV AL DL TEST AL 00000001B 判断是否显示完 JNZ OUT1 显示完 返回 ROR AL 1 MOV DL AL JMP AGAIN 未显示完 跳回继续 OUT1 POP AX RET DIS ENDP DALLY PROC 软件延时子程序 PUSH CX MOV CX 00FFH D1 MOV AX 00FFH D2 DEC AX JNZ D2 LOOP D1 POP CX RET DALLY ENDP CODE ENDS END START 课本作业课本作业 p187 2 3 5 7 思考题与练习题思考题与练习题 2 8255A 有哪些编程命令字 其命令格式及每位的含义是什么 试举例说明 8255A 共有两种控制字 工作方式选择控制字 可使 8255A 的 3 个数据端口工作在不同的方式 端口 C 按位置位 复位控制字 它可使 C 端口中的任何一位进行置位或复位 工作方式选择控制字格式及各位含义如下 端口 C 按位置位 复位控制字可实现对端口 C 的每一位进行控制 置位是使该 位为 1 复位是使该位为 0 控制字的格式及各位含义如图 3 假定 8255A 的端口地址分别为 208H 20FH 编写下列各情况的初始化程 序 将 A 口 B 口设置成方式 0 端口 A 和 C 作为输入口 B 口作为输出口 将 A 口设置成方式 1 输入口 PC6 PC7 作为输出端 B 口设置成方式 1 输入口 答 假设 8255 的 A0 A1 连接到地址总线的 A0 A1 则 8255 PA 口地址为 208H 8255 PB 口地址为 209H 8255 PB 口地址为 20AH 8255 控制字口地址为 20BH 1 控制字 10011001B MOV DX 020BH 8255 控制字口地址为 20BH MOV AL 10011001B 8255 控制字为 10011001B OUT DX AL 把 10011001B 从 CPU 送出到 8255 控制字 对 8255 初始化 2 控制字 10110110B MOV DX 020BH 8255 控制字口地址为 20BH MOV AL 10110110B 8255 控制字为 10110110B OUT DX AL 把 10110110B 从 CPU 送出到 8255 控制字 对 8255 初始化 5 在 Inter8255A 中可以进行按位置位 复位的端口是 PC 口 第六章作业 补充作业补充作业 1 简述什么是中断 什么是中断程序 什么是断点 什么是中断源 答 当 CPU 在执行程序时 由内部或外部的原因引起的随机事件要求 CPU 暂 时停止正在执行的程序 而转向执行一个用于处理该随机事件的程序 处理完 后又返回被中止的程序断点处继续执行 这一过程就称为中断 中断服务 中断之后所执行的相应的处理程序通常称之为中断服务或中断处 理程序 原来正常运行的程序称为主程序 主程序被断开的位置 或地址 称为 断点 引起中断的原因 或能发出中断申请的来源 称为 中断源 2 写出一般 CPU 的中断过程 4 步 P192 第一步 保护断点 将断点处的标志寄存器 PSW 与 PC 值 即下一条应执行指令的地 址 压入堆栈保留下来 这由硬件自动执行 第二步 保护现场 将有关的寄存器内容压入堆栈保留下来 这由用户自己编程完成 第三步 执行中断服务程序 第四步 中断返回 CPU 将继续执行原主程序 3 什么是中断类型号 什么是中断矢量 什么是中断矢量表 画出中断矢量表 的结构图 P193 答 中断类型号 就是为每个中断源指定一个编号 称为中断类型号 中断矢量 每一个中断服务程序有一个确定的入口地址 该地址称为中断矢 量 中断矢量表 把系统中所有的中断矢量集中起来 按中断类型号从小到大的 顺序安排到存储器的某一个区域内 这个存放中断矢量的存储区叫中断矢量表 4 8086CPU 有哪几种中断 画出 P196 图 6 8 课本作业 P220 2 3 5 2 简述非屏蔽中断 NMI 和屏蔽中断 INTR 的区别 屏蔽中断 INTR 的响应受状态控制字 IF 的控制 所以它可屏蔽 非屏蔽中断 NMI 的响应不受状态控制字 IF 的控制 所以它不能屏蔽 3 中断矢量表的功能是什么 已知中断类型号分别为 88H 和 AAH 他们的 中断服务程序入口地址在中断矢量表的什么位置上 答 把系统中所有的中断矢量集中起来 按中断类型号从小到大的顺序安排到 存储器的某一个区域内 这个存放中断矢量的存储区叫中断矢量表 中断类型号为 88H 在中断矢量表的位置 220H 开始 4 个字节 88H 10001000B 左移 2 位变成 1000100000B 220H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑方案设计需要审批么
- 植物原料水解工测试考核试卷及答案
- 投标设计咨询方案范本
- 化学水处理工基础考核试卷及答案
- 补偿政策效果评估分析报告
- 职场团队建设活动方案及执行细则
- 轮轴装修工成本预算考核试卷及答案
- 塑料层压工5S管理考核试卷及答案
- 保险公司crs基础考试题及答案
- 维修网络服务能力评估报告
- 发展汉语初级综合1:第3课课件
- 2021人工智能训练师职业技能标准(职业编码:4-04-05-05)
- 第二十章-颅内和椎管内血管性疾病
- 消防救援队伍作战训练安全行动手册
- 质保金支付申请表
- 苏科版一年级上册《心理健康教育》全一册全部教案(共9课)
- 建筑工程质量安全检查记录表
- 35kV变电站施工组织设计资料
- 保障农民工工资支付协调机制和工资预防机制
- 聚焦于人:人力资源领先战略
- ISO50001内部审核检查表
评论
0/150
提交评论