微机原理与接口技术(第2版)牟琦主编习题答案_第1页
微机原理与接口技术(第2版)牟琦主编习题答案_第2页
微机原理与接口技术(第2版)牟琦主编习题答案_第3页
微机原理与接口技术(第2版)牟琦主编习题答案_第4页
微机原理与接口技术(第2版)牟琦主编习题答案_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1 习题习题 1 1 1 什么是汇编语言 汇编程序 和机器语言 什么是汇编语言 汇编程序 和机器语言 答 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令 的集合 汇编语言是面向及其的程序设计语言 在汇编语言中 用助记符代替操作 码 用地址符号或标号代替地址码 这种用符号代替机器语言的二进制码 就 把机器语言编程了汇编语言 使用汇编语言编写的程序 机器不能直接识别 要由一种程序将汇编语言 翻译成机器语言 这种起翻译作用的程序叫汇编程序 2 微型计算机系统有哪些特点 具有这些特点的根本原因是什么 微型计算机系统有哪些特点 具有这些特点的根本原因是什么 答 微型计算机的特点 功能强 可靠性高 价格低廉 适应性强 系统设计 灵活 周期短 见效快 体积小 重量轻 耗电省 维护方便 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件 建立在微 细加工工艺基础之上 3 微型计算机系统由哪些功能部件组成 试说明微型计算机系统由哪些功能部件组成 试说明 存储程序控制存储程序控制 的概念 的概念 答 微型计算机系统的硬件主要由运算器 控制器 存储器 输入设备和输出 设备组成 存储程序控制 的概念可简要地概括为以下几点 计算机 指硬件 应由运算器 存储器 控制器和输入 输出设备五大 基本部件组成 在计算机内部采用二进制来表示程序和数据 将编好的程序和原始数据事先存入存储器中 然后再启动计算机工作 使计算机在不需要人工干预的情况下 自动 高速的从存储器中取出指令加以 执行 这就是存储程序的基本含义 五大部件以运算器为中心进行组织 4 请说明微型计算机系统的工作过程 请说明微型计算机系统的工作过程 答 微型计算机的基本工作过程是执行程序的过程 也就是 CPU 自动从程序存 2 放的第 1 个存储单元起 逐步取出指令 分析指令 并根据指令规定的操作类 型和操作对象 执行指令规定的相关操作 如此重复 周而复始 直至执行完 程序的所有指令 从而实现程序的基本功能 5 试说明微处理器字长的意义 试说明微处理器字长的意义 答 微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数 它决定着计算机内部寄存器 ALU 和数据总线的位数 反映了一台计算机的计 算精度 直接影响着机器的硬件规模和造价 计算机的字长越大 其性能越优 越 在完成同样精度的运算时 字长较长的微处理器比字长较短的微处理器运 算速度快 6 微机系统中采用的总线结构有几种类型 各有什么特点 微机系统中采用的总线结构有几种类型 各有什么特点 答 微机主板常用总线有系统总线 I O 总线 ISA 总线 IPCI 总线 AGP 总 线 IEEE1394 总线 USB 总线等类型 7 将下列十进制数转换成二进制数 八进制数 十六进制数 将下列十进制数转换成二进制数 八进制数 十六进制数 4 75 10 0100 11 2 4 6 8 4 C 16 2 25 10 10 01 2 2 2 8 2 8 16 1 875 10 1 111 2 1 7 8 1 E 16 8 将下列二进制数转换成十进制数 将下列二进制数转换成十进制数 1011 011 2 11 6 10 1101 01011 2 13 58 10 111 001 2 7 2 10 9 将下列十进制数转换成将下列十进制数转换成 8421BCD 码 码 2006 0010 0000 0000 0110 BCD 123 456 0001 0010 0011 0100 0101 0110 BCD 10 求下列带符号十进制数的求下列带符号十进制数的 8 位基位基 2 码补码 码补码 127 补 3 1 补 128 补 1 补 11 求下列带符号十进制数的求下列带符号十进制数的 16 位基位基 2 码补码 码补码 655 补 01111 1 补 11110 3212 补 11100 100 补 00100 4 习题习题 2 2 1 8086 CPU 在内部结构上由哪几部分组成 各部分的功能是什么 在内部结构上由哪几部分组成 各部分的功能是什么 答 8086 CPU 内部由两大独立功能部件构成 分别是执行部件和总线接口 部件 执行部件负责进行所有指令的解释和执行 同时管理有关的寄存器 总线接口部件是 CPU 在存储器和 I O 设备之间的接口部件 负责对全部引 脚的操作 2 简述简述 8086 CPU 的寄存器组织 的寄存器组织 答 8086 CPU 内部共有 14 个 16 位寄存器 按用途可分为数据寄存器 段 寄存器 地址指针与变址寄存器和控制寄存器 数据寄存器包括累加器 基 址寄存器 计数器 和数据寄存器 段寄存器用来存放各分段的逻辑段基值 并指示当前正在使用的 4 个逻辑段 地址指针与变址寄存器一般用来存放主 存地址的段内偏移地址 用于参与地址运算 控制寄存器包括指令寄存器和标识寄存器 3 试述试述 8086 CPU 标志寄存器各位的含义与作用 标志寄存器各位的含义与作用 答 标志寄存器是 16 位的寄存器 但实际上 8086 只用到 9 位 其中的 6 位 是状态标识位 3 位是控制标识位 状态标志位分别是 CF PF AF ZF SF 和 OF 控制标志位包括 DF IF TF CF 进位标志位 算数运算指令执行后 若运算结果的最高位产生进位或 借位 则 CF 1 否则 CF 0 PF 奇偶标志位 反应计算结果中 1 的个数是偶数还是奇数 若运算结果 的低 8 位中含有偶数个 1 则 PF 1 否则 PF 0 AF 辅助进位标志 算数运算指令执行后 若运算结果的低 4 位向高 4 位 产生进位或借位 则 AF 1 否则 AF 0 ZF 零标志位 若指令运算结果为 0 则 ZF 1 否则 ZF 0 SF 符号标志位 它与运算结果最高位相同 OF 溢出标志位 当补码运算有溢出时 OF 1 否则 OF 0 DF 方向标志位 用于串操作指令 指令字符串处理时的方向 IF 中断允许标志位 用来控制 8086 是否允许接收外部中断请求 5 TF 单步标志位 它是为调试程序而设定的陷阱控制位 4 8086 CPU 状态标志和控制标志有何不同 程序中是怎样利用这两类标识的 状态标志和控制标志有何不同 程序中是怎样利用这两类标识的 8086 的状态标志和控制标识分别有哪些 的状态标志和控制标识分别有哪些 答 状态标志位反应了当前运算和操作结果的状态条件 可作为程序控制转 移与否的依据 它们分别是 CF PF AF ZF SF 和 OF 控制标志位用 来控制 CPU 的操作 由指令进行置位和复位 控制标志位包括 DF IF TF 5 将将 1001 1100 和和 1110 0101 相加后 标识寄存器中相加后 标识寄存器中 CF PF AF ZF SF OF 各为何值 各为何值 答 CF 1 PF 1 AF 1 ZF 0 SF 1 OF 0 6 什么是存储器的物理地址和逻辑地址 在什么是存储器的物理地址和逻辑地址 在 8086 系统中 如何由逻辑地址计系统中 如何由逻辑地址计 算物理地址 算物理地址 答 逻辑地址是思维性的表示 由段地址和偏移地址联合表示的地址类型叫 逻辑地址 物理地址是真实存在的唯一地址 指的是存储器中各个单元的单 元号 在 8086 系统中 物理地址 段地址 10H 偏移地址 7 段寄存器段寄存器 CS 1200H 指令指针寄存器 指令指针寄存器 IP 4000H 此时 指令的物理地址 此时 指令的物理地址 为多少 指向这一地址的为多少 指向这一地址的 CS 指和指和 IP 值是唯一的吗 值是唯一的吗 答 此指令的物理地址 1200H 10H 4000H 16000H 并且指向这一物理地 址的 CS 值和 IP 值并不是唯一的 8 在在 8086 系统中 逻辑地址系统中 逻辑地址 FFFF 0001 00A2 37F 和和 B800 173F 的物理的物理 地址分别是多少 地址分别是多少 答 逻辑地址FFFF 000100A2 3TFB800 173F 物理地址FFFF1H00D9FHB973FH 6 9 在在 8086 系统中 从物理地址系统中 从物理地址 388H 开始顺序存放下列开始顺序存放下列 3 个双字节的数据个双字节的数据 651AH D761H 和和 007BH 请问物理地址 请问物理地址 388H 389H 38AH 38BH 38CH 和和 38DH 6 个单元中分别是什么数据 个单元中分别是什么数据 答 388H 1AH 389H 65H 38AH 61H 38BH DTH 38CH 7BH 38DH 00H 10 8086 微处理器有哪几种工作模式 各有什么特点 微处理器有哪几种工作模式 各有什么特点 答 8086 微处理器有最大和最小工作模式 在最小模式下 8086 CPU 直接产生全部总线控制信号 DT R DEN ALE M IO 和命令输出信号 RD WR INTA 并提出 请求访问总线的逻辑信号 HOLD HLDA 在最大工作模式下 必须配置 8288 总线控制器 并且根据 8086 提供的 状态信号 S2 S1 S0 输出读写控制命令 可以提供灵活多变的系统配置 以实现最佳的系统性能 11 简述简述 8086 引脚信号中引脚信号中 M IO DT R RD WR ALE DEN 和和 BHE 的作的作 用 用 答 M IO 输出信号 高电平时 表示 CPU 与存储器之间数据传输 低电 平时 表示 CPU 与 I O 设备之间数据传输 DT R 控制其数据传输方向的信号 DT R 1 时 进行数据发送 DT R 0 时 进行数据接收 RD CPU 的读信号 RD 0 时 表示 8086 为存储口或 I O 端口读操作 WR CPU 的写信号 WR 0 时 表示 8086 为存储口或 I O 端口写操作 ALE 地址存锁信号 在 T1 能时刻有效 DEN 数据选通信号 当 DEN 有效时 表示允许传输 BHE 数据总线允许信号 与 A0 组合使用 表示是否访问奇地址字节 12 简述简述 8086 读总线周期和写总线周期和引脚上的信号动尖态变化过程 读总线周期和写总线周期和引脚上的信号动尖态变化过程 8086 的读周期时序和写周期时序的区别有哪些 的读周期时序和写周期时序的区别有哪些 答 答 在 8086 读周期内 有关总线信号的变化如下 M 在整个读周期保持有效 当进行存储器读操作时 M 为高电平 IOIO 7 当进行 I O 端口读操作时 M 为低电平 IO A19 S6 A16 S3 在 T1期间 输出 CPU 要读取的存储单元或 I O 端口的地 址高 4 位 T2 T4期间输出状态信息 S6 S3 S7 在 T1期间 输出 BHE 有效信号 为低电平 表示高 8 位数BHEBHE 据总线上的信息可以使用 信号通常作为奇地址存储体的体选信号 偶地址BHE 存储体的体选信号是最低地址位 A0 T2 T4期间输出高电平 ADl5 AD0 在 T1期间 输出 CPU 要读取的存储单元或 I O 端口的地址 A15 A0 T2期间为高阻态 T3 T4期间 存储单元或 I O 端口将数据送上数据 总线 CPU 从 ADl5 AD0上接收数据 ALE 在 T1期间地址锁存有效信号 为一正脉冲 系统中的地址锁存器 正是利用该脉冲的下降沿来锁存 A19 S6 A16 S3 ADl5 AD0中的 20 位地址信 息以及 BHE T2期间输出低电平送到被选中的存储器或 I O 接口 注意 只有被RD 地址信号选中的存储单元或 I O 端口 才会被 RD 信号从中读出数据 数据送上 数据总线 ADl5 AD0 DT 在整个总线周期内保持低电平 表示本总线周期为读周期 在接R 有数据总线收发器的系统中 用来控制数据传输方向 在 T2 T3期间输出有效低电平 表示数据有效 在接有数据总线DEN 收发器的系统中 用来实现数据的选通 总线写操作的时序与读操作时序相似 其不同处在于 ADl5 AD0 在 T2 T4期间送上欲输出的的数据 而无高阻态 从 T2 T4 引脚输出有效低电平 该信号送到所有的存储器和WRWR I O 接口 注意 只有被地址信号选中的存储单元或 I O 端口才会被信号写WR 入数据 DT 在整个总线周期内保持高电平 表示本总线周期为写周期 在接R 有数据总线收发器的系统中 用来控制数据传输方向 8 习题习题 3 3 1 假定 假定 DS 2000H ES 2100H SS 1500H SI 00A0H BX 0100H BP 0010H 数据变量 数据变量 VAL 的偏移地址为的偏移地址为 0050H 请指出下列指令原操作数是什么寻址方式 其物理地址是多少 请指出下列指令原操作数是什么寻址方式 其物理地址是多少 1 MOV AX 0ABH 2 MOV AX 100H 3 MOV AX VAL 4 MOV BX SI 5 MOV AL VAL BX 6 MOV CL BX SI 7 MOV VAL SI BX 8 MOV BP SI 100 答 1 立即数寻址 物理地址 无 2 直接寻址 物理地址 2000H 10H 100H 20100H 3 直接寻址 物理地址 2000H 10H 0050H 20050H 4 寄存器间接寻址 PA 2000H 10H 00A0 200A0H 5 相对寄存器寻址 PA 2000H 10H 0050 0100H 20150H 6 基址加变寻址 PA 2000H 10H 0100H 00A0H 201A0H 7 寄存器寻址 无 PA 8 立即数寻址 无 PA 2 已知 已知 SS 0FFA0H SP 00B0H 先执行两条把 先执行两条把 8057H 和和 0F79H 分分 别进栈的别进栈的 PUSH 指令 再执行一条指令 再执行一条 POP 指令 试画出堆栈区和指令 试画出堆栈区和 SP 内容变内容变 化的过程示意图 化的过程示意图 答 8057H 进栈 则 SP 自动从 00B0H 指向 00B2H 0F79H 进栈 则 SP 自动从 00B2H 指向 00B4H 执行一条 POP 指令 0F79H 被弹出栈 SP 从 00B4H 指向 00B2H 图略 3 设有关寄存器及存储单元的内容如下 设有关寄存器及存储单元的内容如下 DS 2000H BX 0100H AX 1200H SI 0002H 20100H 12H 20101H 34H 20102H 56H 20103H 78H 21200H 2AH 21201H 4CH 21202H 0B7H 21203H 65H 试说明下列各条指令单独执行后相关寄存器或存储单元的内容 试说明下列各条指令单独执行后相关寄存器或存储单元的内容 9 1 MOV AX 1800H 2 MOV AX BX 3 MOV BX 1200H 4 MOV DX 1100 BX 5 MOV BX SI AL 6 MOV AX 1100 BX SI 答 1 AX 1800H 2 AX 0100H 3 BX 4C2AH 4 DX 4C2AH 5 20102H 00H 6 AX 65B7H 4 写出实现下列计算的指令序列 写出实现下列计算的指令序列 1 Z W X Z 2 Z W X 6 R 9 答 1 MOV AX Z ADD AX X ADD AX W MOV Z AX 2 MOV AX W ADD X 6 SUB AX X ADD R 9 SUB AX R MOV Z AX 5 若在数据段中从字节变量若在数据段中从字节变量 TABLE 相应的单元开始存放了相应的单元开始存放了 0 15 的平方值 的平方值 试写出包含试写出包含 XLAT 指令的指令序列查找指令的指令序列查找 N 0 15 中的某个平方数 中的某个平方数 答 LEA BX TABLE MOV AL CL XLAT 6 写出实现下列计算的指令序列 写出实现下列计算的指令序列 1 Z W X R 6 2 Z W X 5 Y 2 答 1 MOV AX W IMUL X ADD R 6 IDIV R 10 MOV Z AX 2 MOV AX W SUB AX X MOV BL 5 IDIV BL CBW IMUL Y MOV BX 2 IMUL BX MOV Z AX 7 假定假定 DX 11001B CL 3 CF 1 试确定下列各条指令单独执行后试确定下列各条指令单独执行后 DX 的值 的值 1 SHR DX 1 2 SHL DL 1 3 SAL DH 1 4 SAR DX CL 5 ROR DX CL 6 ROL DL CL 7 RCR DL 1 8 RCL DX CL 答 1 DX 0110 0100 1101 1100B 2 DX 1100 1001 0111 0010B 3 DX 1001 0010 1011 1001B 4 DX 1111 1001 0011 0111B 5 DX 0011 1001 0011 0111B 6 DX 0100 1101 1100 1110B 7 DX 1110 0100 1101 1100B 8 DX 1001 0011 0111 0011B 8 已知程序段如下 已知程序段如下 MOV AX 1234H MOV CL 4 ROL AX CL DEC AX MOV CX 4 MUL CX INT 20H 试问 试问 1 每条指令执行后 每条指令执行后 AX 寄存器的内容是什么 寄存器的内容是什么 2 每条指令执 每条指令执 行后 行后 CF SF 及及 ZF 的值分别是什么 的值分别是什么 3 程序运行结束后 程序运行结束后 AX 及及 DX 寄存器的值为多少 寄存器的值为多少 11 答 MOV AX 1234H AX 1234H CF 0 SF 0 ZF 0 MOV CL 4 ROL AX CL AX 2341H CF 1 SF 0 ZF 0 DEC AX AX 2340H CF 1 SF 0 ZF 0 MOV CX 4 MULL CX AX 8D00H CF 0 SF 1 ZF 0 INT 20H 结束后 DX 0000H AX 8000H 9 试分析下列程序段 试分析下列程序段 ADD AX BX JNC L2 SUB AX BX JNC L3 JMP SHORTL5 如果如果 AX BX 的内容给定如下 的内容给定如下 AX BX 1 14C6H 80DCH 2 B568H 54B7H 问该程序在上述情况下执行后 程序转向何处 问该程序在上述情况下执行后 程序转向何处 答 1 转到 L2 处 2 转到 L3 处 12 习题习题 4 4 1 下列语句在存储器中分别为变量分配多少字节空间 并画出存储空间的分配 下列语句在存储器中分别为变量分配多少字节空间 并画出存储空间的分配 图 图 VAR1 DB 10 2 VAR2 DW 5 DUP 0 VAR3 DB HOW ARE YOU 3 DUP 1 2 VAR4 DD 1 1 0 答 字节空间 VAR1 2 VAR2 12 VAR3 13 VAR4 8 存储空间的分配图 2 假定 假定 VAR1 和和 VAR2 为字变量 为字变量 LAB 为标号 试指出下列指令的错误之为标号 试指出下列指令的错误之 处 处 1 ADD VAR1 VAR2 2 SUB AL VAR1 3 JMP LAB CX 4 JNZ VAR1 5 MOV 1000H 100 6 SHL AL 4 答 1 在算术运算指令中 两个操作数不能同时为存储器寻址方式 2 AL 为字节 VAR1 为字变量 字长不相等 3 寄存器相对寻址方式 只能使用基址或变址寄存器 不能使用 CX 寄存 器 4 转向地址应为标号 不能是变量 13 5 目的操作数的类型不确定 6 SHL 指令中 当所移位数超过 1 时 必须用 CL 取代所移位数 3 对于下面的符号定义 指出下列指令的错误 对于下面的符号定义 指出下列指令的错误 A1 DB A2 DB 10 K1 EQU 1024 1 MOV K1 AX 2 MOV A1 AX 3 CMP A1 A2 4 K1 EQU 2048 答 1 K1 为常量 不能用 MOV 指令赋值 2 A1 为字节 AX 为字变量 不匹配 3 A1 未定义 无法做比较指令 4 K1 重新赋值前 必须用 PURGE 释放 4 数据定义语句如下所示 数据定义语句如下所示 FIRST DB 90H 5FH 6EH 69H SECOND DB 5 DUP THIRD DB 5 DUP 自自 FIRST 单元开始存放的是一个四字节的十六进制数单元开始存放的是一个四字节的十六进制数 低位字节在前低位字节在前 要求要求 编一段程序将这个数左移两位后存放到自编一段程序将这个数左移两位后存放到自 SECOND 开始的单元开始的单元 右移两位后存右移两位后存 放到自放到自 THIRD 开始的单元 开始的单元 注意保留移出部分注意保留移出部分 答 DATA SEGMENT FIRST DB 90H 5FH 6EH 69H SECOND DB 5 DUP THIRD DB 5 DUP FORTH DB 4 DUP DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA 14 START MOV AX DATA MOV DS AX LEA SI FIRST LEA DI SECOND MOV CX 2 CLC 左移 2 位 MOV AX WORD PTR SI AX 5F90H 为低十六位数据 INC SI INC SI MOV DX WORD PTR SI DX 696EH 为高十六位数据 PUSH DX 保存原有的高十六位数据 PUSH AX 保存原有的低十六位数据 ROL DX CL 将高位数据不带进位循环左移两位 即高 2 位数据在 DL 的 低 2 位 AND DL 03H 让 DL 中仅保存移出的高 2 位数据 MOV DI 4 DL 将移出的高 2 位数据放入 SECOND 中的最高单元中 ROL AX CL 将低位数据不带进位循环左移两位 即 AX 的高 2 位在 AL 的 低 2 位 AND AL 03H 让 AL 中仅保存移出的 AX 高 2 位数据 MOV BL AL 将 AL 中的数据放入 BL 中保存 POP AX 弹出原有的低十六位数据 POP DX 弹出原有的高十六位数据 SHL DX CL 将高位数据算术逻辑左移 2 位 SHL AX CL 将低位数据算术逻辑左移 2 位 OR DL BL 将 AX 中移出的高 2 位数据放入 DX 的低 2 位 MOV WORD PTR DI AX MOV WORD PTR DI 2 DX 右移 2 位 15 LEA SI FIRST LEA DI THIRD MOV CX 2 CLC MOV AX WORD PTR SI AX 5F90H 为低十六位数据 INC SI INC SI MOV DX WORD PTR SI DX 696EH 为高十六位数据 PUSH DX 保存原有的高十六位数据 PUSH AX 保存原有的低十六位数据 ROR AX CL 将低位数据不带进位循环右移两位 即低 2 位数据在 AH 的高 2 位 AND AH 0C0H 让 AH 中仅保存移出的低 2 位数据 PUSH CX MOV CX 6 SHR AH CL POP CX MOV DI AH 将移出的低 2 位数据放入 THIRD 中的最低单元中 ROR DX CL 将低位数据不带进位循环左移两位 即 AX 的高 2 位在 AL 的 低 2 位 AND DH 0C0H 让 DH 中仅保存移出的 DX 低 2 位数据 MOV BL DH 将 DH 中的数据放入 BL 中保存 POP AX 弹出原有的低十六位数据 POP DX 弹出原有的高十六位数据 SHR DX CL 将高位数据算术逻辑左移 2 位 SHR AX CL 将低位数据算术逻辑左移 2 位 OR AH BL 将 DX 中移出的低 2 位数据放入 AX 的高 2 位 MOV WORD PTR DI 1 AX MOV WORD PTR DI 3 DX 求补 16 LEA SI FIRST LEA DI FORTH MOV AX WORD PTR SI AX 5F90H 为低十六位数据 INC SI INC SI MOV DX WORD PTR SI DX 696EH 为高十六位数据 XOR AX 0FFFFH 将低十六位取反 XOR DX OFFFFH 将高十六位按位取反 CLC ADD AX 01H 低位加 1 即可为原数的求补 ADC DX 0 高位加低位加法时的进位 MOV WORD PTR DI AX MOV WORD PTR DI 2 DX MOV AH 4CH INT 21H CODE ENDS END START 5 试编程序将内存从试编程序将内存从 40000H 到到 4BFFFH 的每个单元中均写入的每个单元中均写入 55H 并再逐个 并再逐个 单元读出比较 看写入的与读出的是否一致 若全对 则将单元读出比较 看写入的与读出的是否一致 若全对 则将 AL 置置 7EH 只只 要有错 则将要有错 则将 AL 置置 81H 答 DATA SEGMENT DA1 DB 55H CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX 4000H MOV DS AX MOV CX 0C000H MOV BX 0000H MOV AH 55H 17 NEXT1 MOV byte ptr BX AH INC BX LOOP NEXT1 MOV BX 0000H MOV CX 0C000H MOV AL 81H NEXT2 MOV AH BX CMP AH 55H JNZ EXIT INC BX LOOP NEXT2 MOV AL 7EH EXIT MOV AH 4CH INT 21H CODE ENDS END START 6 在当前数据段在当前数据段 4000H 开始的开始的 128 个单元中存放一组数据 试编程序将它们个单元中存放一组数据 试编程序将它们 顺序搬移到顺序搬移到 A000H 开始的顺序开始的顺序 128 个单元中 并将两个数据块逐个单元进个单元中 并将两个数据块逐个单元进 行比较行比较 若有错将若有错将 BL 置置 00H 全对则将全对则将 BL 置置 FFH 试编程序 试编程序 答 DATA SEGMENT ORG 400H DA1 DB 128 DUP ORG 0A00H DA2 DB 128 DUP DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA ES DATA START MOV AX DATA MOV DS AX LEA SI DA1 18 LEA DI DA2 MOV CX 128 AGAIN MOV AL SI INC SI INC DI LOOP AGAIN LEA SI DA1 LEA DI DA2 MOV CX 128 NEXT MOV AL SI MOV BL DI CMP AL BL JNZ ERROR INC SI INC DI MOV BL 0FFH LOOP NEXT JMP EXIT ERROR MOV BL 00H EXIT MOV AH 4CH INT 21H CODE ENDS END START 7 设变量单元设变量单元 A B C 存放有存放有 3 个数 若个数 若 3 个数都不为零 则求个数都不为零 则求 3 个数的和 个数的和 存放在存放在 D 中中 若有一个为零 则将其余两个也清零 试编写程序 若有一个为零 则将其余两个也清零 试编写程序 答 DATA SEGMENT A DB B DB C DB 19 DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX CMP A 00H JNZ LP1 MOV B 0 MOV C 0 JMP LP4 LP1 CMP B 00H JNZ LP2 MOV A 0 MOV C 0 JMP LP4 LP2 CMP C 00H JNZ LP3 MOV A 0 MOV B 0 JMP LP4 LP3 MOV AL A ADD AL B ADD AL C MOV AH 4CH LP4 INT 21H CODE ENDS END START 8 有一个有一个 100 个字节的数据表 表内元素已按从大到小的顺序排列好 现给定个字节的数据表 表内元素已按从大到小的顺序排列好 现给定 一元素 试编程序在表内查找 若表内已有此元素 则结束一元素 试编程序在表内查找 若表内已有此元素 则结束 否则 按顺序将否则 按顺序将 此元素插入表中适当的位置 并修改表长 此元素插入表中适当的位置 并修改表长 答 答 20 DATA SEGMENT BUFF DB 100 DUP DA1 DB LENGTH DB 0 DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV SI 0 MOV AL DA1 MOV CX 100 FIND0 CMP BUFF SI AL JZ EXIT INC SI LOOP FIND0 MOV DI 99 MOV SI 0 COMPARE CMP BUFF DI AL JG INSERT MOV BL BUFF DI MOV BUFF DI 1 BL DEC DI CMP DI SI JNL COMPARE JMP EXIT INSERT MOV BUFF DI 1 AL MOV LENGTH 101 EXIT MOV AH 4CH INT 21H CODE ENDS 21 END START 9 内存中以内存中以 FIRST 和和 SECOND 开始的单元中分别存放着两个开始的单元中分别存放着两个 16 位组合的十位组合的十 进制进制 BCD 码码 数数 低位在前 编程序求这两个数的组合的十进制和低位在前 编程序求这两个数的组合的十进制和 并存到以并存到以 THIRD 开始的单元 开始的单元 答 DATA SEGMENT FIRST DD H SECOND DD H THIRD DB DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX LEA SI FIRST LEA DI SECOND LEA BX THIRD MOV CX 4 CLC AGAIN MOV AL BYTE PTR SI MOV DL BYTE PTR DI ADC AL DL DAA MOV BYTE PTR BX AL INC SI INC DI INC BX LOOP AGAIN JC AA MOV BYTE PTR BX 0 22 JMP EXIT AA MOV BYTE PTR BX 1 EXIT MOV AH 4CH INT 21H CODE ENDS END START 10 编写一段程序 接收从键盘输入的编写一段程序 接收从键盘输入的 10 个数 输入回车符表示结束 然后将个数 输入回车符表示结束 然后将 这些数加密后存于这些数加密后存于 BUFF 缓冲区中 加密表如下缓冲区中 加密表如下 输入数字输入数字 0 1 2 3 4 5 6 7 8 9 密码数字密码数字 7 5 9 1 3 6 8 0 2 4 答 DATA SEGMENT MITAB DB CONT EQU MITAB BUFF DB 10 DUP YUANWEN DB 10 DUP DATA ENDS CODE SEGMENT ASSUMECS CODE DS DATA START MOV AX DATA MOV DS AX MOV SI 0 MOV CX CONT INPUT MOV AH 1 INT 21H CMP AL 13 JZ EXIT AND AL 0FH MOV YUANWEN SI AL INC SI 23 LOOP INPUT EXIT LEA BX MITAB MOV CX SI MOV SI 0 JIAMI MOV AL YUANWEN SI XLAT MITAB MOV BUFF SI AL INC SI LOOP JIAMI MOV AH 4CH INT 21H CODE ENDS END START 11 11 试编程序 统计由试编程序 统计由 40000H40000H 开始的开始的 16K16K 个单元中所存放的字符个单元中所存放的字符 A A 的个数 的个数 并将结果存放在并将结果存放在 DXDX 中 中 答 DATA SEGMENT DA1 DB A BUFF DB 4000H DUP DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX 4000H MOV DS AX MOV BX 0 MOV CX 4000H FIND MOV AL BX MOV BL DA1 CMP AL BL 24 JNZ NEXT INC DX NEXT INC SI LOOP FIND MOV AH 4CH INT 21H CODE ENDS END START 12 在当前数据段在当前数据段 DS 偏移地址为 偏移地址为 DATAB 开始的顺序开始的顺序 80 个单元中 存放着个单元中 存放着 某班某班 80 个同学某门考试成绩 按如下要求编写程序个同学某门考试成绩 按如下要求编写程序 1 编写程序统计编写程序统计 90 分分 80 分 分 89 分分 70 分 分 79 分分 60 分 分 69 分 分 60 分的分的 人数各为多少 并将结果放在同一数据段 偏移地址为人数各为多少 并将结果放在同一数据段 偏移地址为 BTRX 开始的顺序单元开始的顺序单元 中 中 2 试编程序 求该班这门课的平均成绩为多少 并放在该数据段的试编程序 求该班这门课的平均成绩为多少 并放在该数据段的 AVER 单单 元中 元中 答 DATA SEGMENT BUFF DW 80 DUP DA9 DB 0 DA8 DB 0 DA7 DB 0 DA6 DB 0 DA5 DB 0 AVER DB 0 DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV CX 80 25 COMPARE MOV BX 0 CMP BUFF BX 90 JB LP8 INC DA9 JMP NEXT LP8 CMP BUFF BX 80 JB LP7 INC DA8 JMP NEXT LP7 CMP BUFF BX 70 JB LP6 INC DA7 JMP NEXT LP6 CMP BUFF BX 60 JB LP5 INC DA6 JMP NEXT LP5 INC DA5 JMP NEXT NEXT INC BX LOOP COMPARE MOV CX 80 XOR AX AX MOV BX 00 SUM ADD AX BUFF BX INC BX LOOP LP1 MOV CL 80 DIV CL MOV AVER AL MOV AH 4CH 26 INT 21H CODE ENDS END START 13 编写一个子程序 对编写一个子程序 对 AL 中的数据进行偶校验 并将经过校验的结果放回中的数据进行偶校验 并将经过校验的结果放回 AL 中 中 答 JIOU PROC PUSH CX PUSH BX XOR AH AH PUSH AX MOV CL 7 LOOP1 SAR AL 1 ADC AH 0 LOOP LOOP1 MOV AL AH XOR AH AH MOV BL 2 DIV BL MOV BL AH POP AX ROR BL 1 OR AL BL POP BX POP CX RET JIOU ENDP 14 利用上题的子程序 对利用上题的子程序 对 80000H 开始的开始的 256 个单元的数据加上偶校验 试编个单元的数据加上偶校验 试编 程序 程序 27 CODE SEGMENT ASSUME CS CODE START MOV AX 8000H MOV DS AX MOV SI 0 MOV CX 256 LP MOV AL SI CALL JIOU MOV SI AL INC SI LOOP LP MOV AH 4CH INT 21H JIOU PROC PUSH CX PUSH BX XOR AH AH PUSH AX MOV CL 7 LOOP1 SAR AL 1 ADC AH 0 LOOP LOOP1 MOV AL AH XOR AH AH MOV BL 2 DIV BL MOV BL AH POP AX ROR BL 1 OR AL BL POP BX 28 POP CX RET JIOU ENDP CODE ENDS END START 29 习题习题 5 5 1 试述试述 DRAM 的工作特点 与的工作特点 与 SRAM 相比有什么长处和不足之处 说明它的相比有什么长处和不足之处 说明它的 使用场合 使用场合 答 DRAM 动态随机存取存储器 需要不断的刷新 才能保存数据 而 且是行列地址复用的 许多都有页模式 SRAM 静态的随机存取存储器 加电情况下 不需要刷新 数据不会丢失 而且一般不是行列地址复用的 与 SRAM 相比 DRAM 价格便宜 速度慢 容量大 主要用来做主存储器 存储程序和数据 而 SRAM 主要用在 Cache 等对速度要求高的情况 2 试述试述 DRAM 刷新过程和正常读刷新过程和正常读 写过程的区别 写过程的区别 答 刷新是以行为单位进行 且刷新过程中不能进行读写操作 3 设有一个具有设有一个具有 20 位地址和位地址和 32 位字长的存储器 问 位字长的存储器 问 1 该存储器能存储多少个字节的信息 该存储器能存储多少个字节的信息 2 如果存储器由如果存储器由 512K 8 位位 SRAM 芯片组成 需要多少片 芯片组成 需要多少片 3 需要多少位作芯片选择 需要多少位作芯片选择 答 1 该存储器能存储 4MB 的信息 2 需要 8 片 512K 8 位的芯片 3 需要 1 位做芯片选择 4 对于对于 8K 8 位位 RAM 组成的存储器系统 若某组的起始地址为组成的存储器系统 若某组的起始地址为 08000H 则 则 其末地址为多少 其末地址为多少 答 末地址为 9FFF 5 在在 8088 最大方式系统总线上扩充设计最大方式系统总线上扩充设计 4K 字节的字节的 SRAM 存储器电路 存储器电路 SRAM 芯片选用芯片选用 Intel 2114 起始地址从 起始地址从 0000H 试画出此存储器电路与系 试画出此存储器电路与系 统总线的连接图 统总线的连接图 答 系统容量为 4K 8bit 芯片容量为 1K 4bit 所以一共需要 8 片芯片 连接图如下 30 6 在在 8088 系统总线上扩充设计系统总线上扩充设计 8K 的字节的的字节的 SRAM 存储器电路 存储器电路 SRAM 芯片芯片 选用选用 Intel 6264 起始地址从 起始地址从 04000H 开始 译码器电路开始 译码器电路 74LS138 1 计算此计算此 RAM 存储区的最高地址是多少 存储区的最高地址是多少 2 画出此存储器电路与系统总线的连接图 画出此存储器电路与系统总线的连接图 3 编写程序实现对此存储区域进行自检 编写程序实现对此存储区域进行自检 答 1 最高地址是 05FFFH 2 3 MOV DX 0FFE2H 31 L1 IN AL DX TEST AL 01H JZ L1 MOV AX 1000H MOV DS AX MOV DX 2000H MOV CX 100 MOV DX 0FFE0H L2 IN AL DX MOV DX AL INC BX LOOPN L2 7 在在 8086 最小方式系统总线上扩充设计最小方式系统总线上扩充设计 16K 字节的字节的 SRAM 存储器电路 存储器电路 SRAM 芯片选用芯片选用 Intel 6264 起始地址从 起始地址从 04000H 开始 译码器电路采用开始 译码器电路采用 74LS138 1 计算此计算此 RAM 存储区域的最高地址是多少存储区域的最高地址是多少 2 画出此存储器与总线的连接图 画出此存储器与总线的连接图 答 1 07FFFH 2 32 33 习题习题 6 6 1 什么是接口 接口的功能是什么 什么是接口 接口的功能是什么 答 位于主机与外设之间 用来协助完成数据传送和控制任务的逻辑电路称 为接口电路 接口电路对输入 输出过程起缓冲和联络作用 接口的功能是有 数据缓冲功能 联络功能 寻址功能 预处理功能 中断管理功能 2 计算机对计算机对 I O 端口编址时通常采用哪两种方法 在端口编址时通常采用哪两种方法 在 8086 系统中 用哪种方系统中 用哪种方 法进行编址 法进行编址 答 I O 端口和存储器统一编址 I O 端口单独编址 8086 系统采用 I O 端 口单独编址方式 3 CPU 和输入和输入 输出设备之间传送的信息有哪几类输出设备之间传送的信息有哪几类 答 数据信息 控制信息 与状态信息 4 简述简述 CPU 与外设进行数据交换的几种常用方式与外设进行数据交换的几种常用方式 答 程序控制方式 特点是依靠程序的控制来实现主机和外设的数据传送 可 分为无条件传送方式和查询方式 中断控制方式 每次输入和输出一个数据 CPU 都要检查外设的状态 直接存储器存取控制方式 cpu 不参加数据传送 而是由 DMA 控制器来 实现内存与外设 外设与外设之间的直接传递 通道方式 可以实现对外围设备的统一管理和外围设备与内存之间的数据 传送 外围处理机方式 由 PPU 独立于主机工作 减少了 CPU 控制外设的负担 5 无条件传送方式适用哪些场合 查询方式原理怎样 主要用在什么场合 无条件传送方式适用哪些场合 查询方式原理怎样 主要用在什么场合 答 无条件传送适用于简单的输入 输出设备 CPU 可以随时读取或接受状态 这些信号变化缓慢 当需要采集数据时 无需检查端口 就可以立即采集数据 直接用输入 输出指令完成 无条件传送方式主要用于控制 CPU 与低俗 I O 接口 之间的信息交换 34 7 查询式传送方式有什么优缺点 中断方式为什么能弥补查询方式的缺点 查询式传送方式有什么优缺点 中断方式为什么能弥补查询方式的缺点 答 查询传送方式 CPU 通过程序不断查询相应设备的状态 状态不符合要求 则 CPU 需要等待 只有当状态信号符合要求时 CPU 才能进行相应的操作 中断方式提高了计算机系统中信息处理的并行和处理器效率 中断可以实现同 步操作 实时处理等功能 8 8088 8086 中断向量表的作用是

温馨提示

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

评论

0/150

提交评论