微机原理与接口技术习题答案_第1页
微机原理与接口技术习题答案_第2页
微机原理与接口技术习题答案_第3页
微机原理与接口技术习题答案_第4页
微机原理与接口技术习题答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

第第 3 3 章章8086 80888086 8088 指令系统与寻址方式习题指令系统与寻址方式习题 3 3 8086 系统中 设 DS 1000H ES 2000H SS 1200H BX 0300H SI 0200H BP 0100H VAR 的偏移量为 0600H 请指出下列指令的目标操作数的寻址方式 若目标操作 数为存储器操作数 计算它们的物理地址 1 MOV BX 12 目标操作数为寄存器寻址 2 MOV BX 12 目标操作数为寄存器间址 PA 10300H 3 MOV ES SI AX 目标操作数为寄存器间址 PA 20200H 4 MOV VAR 8 目标操作数为存储器直接寻址 PA 10600H 5 MOV BX SI AX 目标操作数为基址加变址寻址 PA 10500H 6 MOV 6 BP SI AL 目标操作数为相对的基址加变址寻址 PA 12306H 7 MOV 1000H DX 目标操作数为存储器直接寻址 PA 11000H 8 MOV 6 BX CX 目标操作数为寄存器相对寻址 PA 10306H 9 MOV VAR 5 AX 目标操作数为存储器直接寻址 PA 10605H 3 4 下面这些指令中哪些是正确的 那些是错误的 如果是错误的 请说明原因 1 XCHG CS AX 错 CS 不能参与交换 2 MOV BX 1000 错 存储器之不能交换 3 XCHG BX IP 错 IP 不能参与交换 4 PUSH CS 5 POP CS 错 不能将数据弹到 CS 中 6 IN BX DX 输入 输出只能通过 AL AX 7 MOV BYTE BX 1000 1000 大于 255 不能装入字节单元 8 MOV CS 1000 CS 不能作为目标寄存器 9 MOV BX OFFSET VAR SI OFFSET 只能取变量的偏移地址 10 MOV AX SI DI SI DI 不能成为基址加变址 11 MOV COUNT BX SI ES AX AX 是寄存器 不能加段前缀 3 7 设当前 SS 2010H SP FE00H BX 3457H 计算当前栈顶的地址为多少 当执 行 PUSH BX 指令后 栈顶地址和栈顶 2 个字节的内容分别是什么 当前栈顶的地址 2FF00H 当执行 PUSH BX 指令后 栈顶地址 2FEFEH 2FEFEH 57H 2FEFFH 34H 3 8 设 DX 78C5H CL 5 CF 1 确定下列各条指令执行后 DX 和 CF 中的值 1 SHR DX 1 DX 3C62H CF 1 2 SAR DX CL DX 03C6H CF 0 3 SHL DX CL DX 18A0H CF 1 4 ROR DX CL DX 2BC6H CF 0 5 RCL DX CL DX 18B7H CF 1 6 RCR DH 1 DX BCC5H CF 0 3 9 设 AX 0A69H VALUE 字变量中存放的内容为 1927H 写出下列各条指令执行后 寄存器和 CF ZF OF SF PF 的值 AX CF ZF OF SF PF 1 XOR AX VALUE 134EH 0 0 0 0 1 2 AND AX VALUE 0821H 0 0 0 0 1 3 SUB AX VALUE F142H 1 0 0 1 1 4 CMP AX VALUE 0A69H 1 0 0 1 1 5 NOT AX F596H X X X X X 6 TEST AX VALUE 0A69H 0 0 0 0 1 3 10 设 AX 和 BX 中是符号数 CX 和 DX 是无符号数 请分别为下列各项确定 CMP 和 条件转移指令 1 CX 值超过 DX 转移 2 AX 未超过 BX 转移 3 DX 为 0 转移 4 CX 值等于小于 DX 转移 1 CMP CX DX JA NEXT 2 CMP AX BX JLE NEXT 3 CMP DX 0 JZ NEXT 4 CMP CX DX JBE NEXT 3 11 阅 11阅读分析下列指令序列 ADD AX BX JNO L1 JNC L2 SUB AX BX JNC L3 JNO L4 JMP L5 若 AX 和 BX 的初值分别为以下 5 种情况 则执行该指令序列后 程序将分别 转向何处 L1 L5 中的一个 1 AX 13C6H BX 80DCH 2 AX 0B568H BX 54B7H 3 AX 42C8H BX 608DH 4 AX 0D023H BX 9FD0H 5 AX 9FD0H BX 0D023H 1 转 L1 2 转 L1 3 转 L2 4 转 L5 5 转 L5 第四章第四章 汇编语言程序设计习题汇编语言程序设计习题 4 5 画出下列语句中的数据在存储器中的存储情况 VARBDB 34 34H GOOD 2 DUP 1 2 DUP 0 VARWDW 5678H CD 2 2 DUP 100 VARCEQU 12 22H 34H G O O D VARB VARW 4 6 按下列要求 写出各数据定义语句 1 DB1 为 10H 个重复的字节数据序列 1 2 5 个 3 4 2 DB2 为字符串 STUDENTS 3 DB3 为十六进制数序列 12H ABCDH 4 用等值语句给符号 COUNT 赋以 DB1 数据区所占字节数 该语句写在最后 DB1DB 16 DUP 1 2 5 DUP 3 4 DB2DB STUDENTS DB3DW 12H 0ABCDH COUNT EQU DB2 DB1 4 8 对于下面的数据定义 各条 MOV 指令单独执行后 有关寄存器的内容是什么 PREPDB TABADW 5 DUP TABBDB NEXT TABCDD 12345678H 1 MOV AX TYPE PREP AX 1 2 MOVAX TYPE TABA AX 2 3 MOVAX LENGTH TABA AX 5 4 MOVAX SIZE TABA AX 10 5 MOVAX LENGTH TABB AX 1 6 MOVDX SIZE TABC AX 4 4 10 若自 STRING 单元开始存放有一个字符串 以字符 结束 1 编程统计该字符串长度 不包含 字符 并假设长度为两字节 2 把字符串长度放在 STRING 单元 把整个字符串往下移两个单元 程序段为 1 0 0 1 0 0 78H 56H D C 12H 00H 64H 00 64H 1 MOV SI OFFSET STRING XOR BX BX CONT MOV AL SI CMP AL JZNEXT INCBX INCSI JMPCONT NEXT MOV AH 4CH INT21H 2 STRING DB COUNT EQU STRING MOV SI OFFSET STRING MOV CX COUNT ADD SI CX CONT DEC SI MOV AL SI MOV SI 2 AL LOOP CONT MOV CX COUNT MOVSTRING CX MOV AH 4CH INT21H 4 11 将字符串 STRING 中的 字符用空格代替 字符串 STRING The data is FEB 03 程序为 DATASEGMENT STRINGDB The data is FEB 03 COUNT EQU STRING DATAENDS CODESEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV SI OFFSET STRING MOV CX COUNT MOV AL CONT CMP AL SI JNZ NEXT MOV BYTE PTR SI NEXT INC SI LOOP CONT MOV AH 4CH INT21H CODEENDS END START 4 16 键盘输入十个学生的成绩 试编制一个程序统计 69 69 分 70 79 分 80 89 分 90 99 分及 100 分的人数 分别存放到 S6 S7 S8 S9 及 S10 单元中 程序为 DATA SEGMENT BUFDB10 DUP S6DB S7DB S8DB S9DB S10DB DATAENDS CODESEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV SI OFFSET S6 XOR AL AL MOV CX 0504H CONT MOV SI AL INCSI LOOPCONT MOV CX 10 MOV SI OFFSET BUF CONT1 MOV AH 1 INT21H SHLAL CL MOV BL AL MOV AH 1 INT21H SUBAL 30H ORAL BL MOV SI AL CMP AL 70H JAENEXT1 INCBYTE PTR S6 NEXT1 CMP AL 80H JAENEXT2 INCBYTE PTR S7 NEXT2 CMP AL 90H JAENEXT3 INCBYTE PTR S8 NEXT3 CMP AL 99H JANEXT4 INCBYTE PTR S9 JMPNEXT5 NEXT4 INCBYTE PTR S10 NEXT5 INCSI LOOPCONT1 MOV AH 4CH INT21H CODEENDS END START 第第 7 7 章章 基本输入基本输入 输出接口习题输出接口习题 7 4 现有一输入设备 其数据端口地址为 FFE0H 状态端口地址为 FFE2H 当其 D0 为 1 时表明输入数据准备好 试采用查询方式 编程实现从该设备读取 100 个字节数据并 保存到 2000H 2000H 开始的内存中 程序段为 MOVAX 2000H MOVDS AX MOV SI 2000H MOVCX 100 CONT MOV DX 0FFE2H CONT1 IN AL DX TESTAL 01 JZCONT1 MOV DX 0FFE0H INAL DX MOV SI AL INCSI LOOPCONT MOV AH 4CH INT21H 7 5 硬件如图 7 5 所示 试编程实现 S0 控制 8 个发光二极管 1 亮 7 暗 S1 控制 8 个 8 个发光二极管 7 亮 1 暗 S2 控制某一亮点 或暗点 以一定时间间隔循环向左移动 S3 控制某一亮点 或暗点 以一定时间间隔循环向右移动 两个或两个以上开关闭合 则 结束程序 程序段为 省略伪指令 BUF1DB01H BUF2DB80H MOV DX 200H AGAIN INAL DX XOR BL BL MOV CX 8 CONT ROR AL 1 JNCNEXT INCBL NEXT LOOPCONT CMP BL 2 JAEEXIT CMP AL 0FEH JZ1L7A CMP AL 0FD JZ1A7L CMP AL 0FBH JZZSHL CMP AL 0F7H JZYSHR 1L7A MOV AL 80H OUT DX AL JMPAGAIN 7A7L MOVAL 7F OUT DX AL JMPAGAIN ZSHL MOV AL BUF1 ROL AL 1 MOV BUF1 AL OUT DX AL CALLD500MS JMPAGAIN YSHR MOV AL BUF2 ROR AL 1 MOV BUF1 AL OUT DX AL CALLD500MS JMPAGAIN EXIT MOVAH 4CH INT21H 第第 8 8 章章 中断习题中断习题 8 2 已知中断向量表表中地址 0020H 0023H 的单元中依次是 40H 00H 00H 01H 并知 INT 08H 指令本身所在的地址为 9000H 00A0H 若 SP 0100H SS 0300H 标志寄存器 内容为 0240H 试指出在执行 INT 08H 指令 刚进入它的中断服务程序时 SP SS IP CS 和堆栈顶上三个字的内容 用图表示 执行后 SS 0300H SP 00FAH CS 0100H IP 0040H 堆栈顶上三个字的内容如下所示 00FAH 00FCH 执行后 0300H 00FEH 初始 0300H 01000H 8 3 某一用户中断源的中断类型号为 40H 其中断服务程序名为 INTR40 请用两种不同的方法设置它的中断向量 方法一 MOV AX 0 MOV DS AX MOV AX OFFSET INTR40 MOV 00C0H AX MOV AX SEG INTR40 栈区 A2H 00H 00H 90H 40H 02H XX MOV 00C2H AX 方法二 MOV AX 0 MOV ES AX MOV DI 40H 4 CLD MOV AX OFFSET INTR40 STOSW MOV AX SEG INTR40 STOSW 8 5 某一 8086CPU 系统中 采用一片 8259A 进行中断管理 设 8259A 工作在全嵌套 方式 发送 EIO 命令结束中断 边沿触发方式 IR0 对应的中断向量号为 90H 8259A 在系 统中的端口地址为 FFDCH A0 0 和 FFDDH A0 1 试编写 8259A 的初始化程序段 初试化程序段为 MOV DX 0FFDCH MOV AL 13H OUT DX AL INCDX INCDX MOV AL 90H OUT DX AL MOV AL 01 OUT DX AL 第第 9 9 章章可编程接口芯片及应用习题可编程接口芯片及应用习题 9 1 试按如下要求分别编写初始化程序 已知计数器 0 2 和控制字寄存器的端口 地址依次为 204H 207H 1 使计数器 1 工作在方式 0 仅用 8 位二进制计数 计数初值为 128 2 使计数器 0 工作在方式 1 按 BCD 码计数 计数值为 3000 3 使计数器 2 工作在方式 2 按二进制计数 计数值为 02F0H 初始化程序为 MOV DX 207H MOV AL 50H OUT DX AL MOV DX 205H MOV AL 80H OUT DX AL MOV DX 207H MOV AL 23H OUT DX AL MOV DX 204H MOV AL 30H OUT DX AL MOV DX 207H MOV AL 0B4H OUT DX AL MOV DX 206H MOV AL 0F0H OUT DX AL MOV AL 02 OUT DX AL 9 2 硬件如题 9 2 图 利用 PC 内部 8253 定时器 0 并用中断方式实现每隔 1s 使 发光二极管亮暗交替显示 PC 内部 8253 输入时钟频率为 1 1932MHz 8253 定时器 0 端 口地址为 40H 控制寄存器端口地址为 43H Y0 为 350H 定时器计数值 1 1932MHz 5 32864 83D5H 软件计数值 50 程序为 硬件图见教材 P345 题 9 2 图 MOV AL 34H OUT 43H AL MOV AL 0D5H OUT 40H AL MOV AL 83H OUT 40H AL MOV BL 50 T0 中断服务程序为 DEC BL JNZEXIT1 MOV BL 50 MOV AL BUF NOT AL MOV BUF AL MOV DX 350H OUT DX AL EXIT1 MOVAL 20H OUT 20H AL 设 8259A 的端口地址为 20H 21H IRET 9 3 硬件如题 9 3 图 8253 采用方式 0 BCD 码计数方式 初始值为 1000 每按 一次按钮 S 计数器值减 1 试编程实现显示 8253 当前计数值 直至计数值为 0 8253 端 口地址范围为 80H 83H 略 在何处显示 屏幕 LED 液晶 9 4 图 9 4 为一简化的键盘 数码管显示接口电路 假设端口线 a h 及 1 2 脚送 1 电平 可使显示点亮并能实现扫描 试问 U1 U2 及数码显示器的选用 1 U1 为 同相驱动器 反相驱动器 2 U2 为 同相驱动器 反相驱动器 3 数码显示器为 共阴 共阳 数码管 4 若 A 键闭合 则端口线 3 4 的电平为 图 9 4 见教材 P346 1 选用同相驱动器 2 选用反相驱动器 3 选用共阴数码管 4 若 A 键闭合 则端口线 3 4 的电平为 0 1 9 5 硬件如题 9 5 图 试编程实现循环检测 S0 S1 当 S0 按下 数码管显示 0 当 S1 按下 数码管显示 1 S0 S1 同时按下 则结束程序 8255 的端口地址范围为 80H83H 程序为 MOV AL 82H OUT 83H AL AGAIN INAL 81H TESTAL 03 JZEXIT TEST AL 01 JZNEXT MOV AL 3FH OUT 80H AL JMPAGAIN NEXT TEST AL 02 JZNEXT1 MOV AL 06 OUT 80H AL JMPAGAIN NEXT1 MOVAL 00 OUT 80H AL JMPAGAIN EXIT MOVAH 4CH INT21H 第第 1010 章章 串行通信习题串行通信习题 10 6 设异步传输时 每个字符对应一个起始位 7 个信息位 1 个奇偶校验位和一 个停止位 如果波特率为 9600 每秒能传输的最大字符数为多少个 字符数 9600 位 秒 10 位 字符 960 字符 秒 10 13 要求 8251A 工作于异步方式 波特率系数为 16 字符长度为 7 位 奇校验 2 个停止位 工作状态要求 复位出错标志 使请求发送信号 R

温馨提示

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

评论

0/150

提交评论