微型计算机原理与接口技术(周荷琴 冯焕清)第六版 课后习题答案 第三章(部分答案)
第三章
1.分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。
源操作数 目的操作数 源操作数 目的操作数
(1)MOV AX, 2048H 立即寻址 寄存器寻址
(2) MOV CL, 0FFH 立即寻址 寄存器寻址
(3) MOV BX, [SI] 寄存器间接寻址 寄存器寻址
(4) MOV 5[BX], BL 寄存器寻址 寄存器相对寻址
(5) MOV [BP+100H],AX 寄存器寻址 寄存器相对寻址
(6) MOV [BX+DI], ‘$’ 立即寻址 基址变址寻址
(7) MOV DX, ES:[BX+SI] 基址变址寻址 寄存器寻址
(8) MOV VAL[BP+DI], DX 寄存器寻址 相对基址加变址寻址
(9) IN AL, 05H 直接寻址 寄存器寻址
(10) MOV DS, AX 寄存器寻址 寄存器寻址
2. 已知:DS=1000H, BX=0200H, SI=02H, 内存 10200H~10205H 单元的内容分别为 10H, 2AH, 3CH, 46H, 59H, 6BH。下列每条指令执行完后 AX 寄存器的内容各是什么?
(1)MOV AX, 0200H (AX)=0200H
(2) MOV AX, [200H] (AX)=2A10H
(3) MOV AX, BX (AX)=0200H
(4) MOV AX, 3[BX] (AX)=5946H
(5) MOV AX, [BX+SI] (AX)=463CH
(6) MOV AX, 2[BX+SI] (AX)=6B59H
6.指出下列指令中哪些是错误的,错在什么地方
(1)MOV DL, AX 错误,源和目的操作数类型不匹配,DL 是 8 位寄存器,AX 是 16 位寄存器。
(2)MOV 8650H, AX 错误,立即数不能作为目的操作数。
(3)MOV DS, 0200H 错误,不能用立即数直接给段寄存器赋值。
(4)MOV [BX], [1200H] 错误,MOV 不能在两个存储单元之间直接传送数据
(5)MOV IP, 0FFH 错误,IP 不能作目的操作数或不能用立即数直接给 IP
寄存器赋值。
(6)MOV [BX+SI+3], IP 错误,IP 不能做源操作数。
(7) MOV AX, [BX][BP] 错误,基址变址寻址方式必须是一个基址寄存器与一个变址寄存器,不能两个同时为基址寄存器(BX、BP 均为基址寄存器)。
(8)MOV AL, ES:[BP] 正确
(9)MOV DL, [SI][DI] 错误,基址变址寻址方式必须是一个基址寄存器与一个变址寄存器,不能两个同时为变址寄存器(SI、DI 均为变址寄存器)。
(10)MOV AX, OFFSET 0A20H 错误,OFFSET 后必须是存储单元标号地址,不能是立即数。
(11) MOV AL, OFFSET TABLE 错误,操作数类型不匹配,AL 为 8 位, TABLE 为 16 位。
(12)XCHG AL, 50H 错误,交换指令 XCHG 的操作数不能是立即数。
(13)IN BL, 05H 错误,IN 指令的目的操作数必须是累加器
(14)OUT AL, 0FFEH 错误,OUT 指令的源操作数必须是累加器,目的操作数为 8 位 I/O 端口地址或用 DX 做桥梁的 16 位I/O 端口地址。
8. 已知当前数据数据段中有一个十进制数字 0~9 的 7 段码表,其数值依次为 C0H, F9H, A4H, B0H, 99H, 92H, 82H, F8H, 80H, 98H。要求用 XLAT 指令将十进制数 57 转换成相应的7 段码值,存到 BX 寄存器中,试写出相应的程序段。
解:
DATA SEGMENT
TABLE DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 98H
DATA ENDS
……
MOV AL, 5
MOV BX, OFFSET TABLE
XLAT
MOV DL,AL
MOV AL, 7
XLAT
MOV BL,AL
MOV BH,DL
HLT
调试程序:
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
TABLE DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 98H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AL, 5
MOV BX, OFFSET TABLE
XLAT
MOV DL,AL
MOV AL, 7
XLAT
MOV BL,AL
MOV BH,DL
HLT
CODE ENDS
END START
11. 假设数据定义如下:
DATA SEGMENT
STRING DB ‘The Personal Computer & TV’
DATA ENDS
试用字符串操作指令编程完成以下功能:
(1)把该字符串传送到附加段中偏移地址为 GET_CHAR 开始的内存单元中。
解:程序段如下:
LEA SI,STRING ;置源串偏移地址
LEA DI,GET_CHAR ;置目的串偏移地址
MOV CX,26 ;置串长度
CLD ;方向标志复位
REP MOVSB ;字符串传送
HLT
12.编程将 AX 寄存器中的内容以相反的次序传送到 DX 寄存器中,并要求 AX 中的内容不被破坏,然后统计 DX 寄存器中 1 的个数是多少。
解:将 AX 的内容用 ROR 循环右移,16 次之后 AX 的内容不变(如果用算术/逻辑右移
SHL/SAL,则 AX 的内容破坏,需要用堆栈 PUSHU AX/POP AX 保护),其最低位移入 CF
中,再使用 RCL 循环左移将 CF 中的值移入 DX 中。并且,如果 CF 的值为 1,则将 BL 加
1。
MOV CX, 16
XOR BL, BL
LP1: ROR AX, 1
JNC LP2
INC BL
LP2: RCL DX,1
LOOP LP1
HLT
调试程序:
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
BUF DW 12
BUF1 DW 100 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: PUSH DS
MOV AX,DATA
MOV DS,AX
MOV AX,1234H
MOV CX, 16
XOR BL, BL
LP1: ROR AX, 1
JNC LP2
INC BL
LP2: RCL DX,1
LOOP LP1
HLT
CODE ENDS
END START
15. 某班有七个同学的英语成绩低于 80 分,分数存在 ARRAY 数组中,试编程完成以下工作:给每人加 5 分,结果存到 NEW 数组中.
解:
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
ARRAY DB 7 DUP(?)
NEW DB 7 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV CX, 7
MOV BX, 0
LP1: MOV AL, ARRAY[BX]
ADD AL, 05H
DAA
MOV NEW[BX], AL
INC BX
LOOP LP1
HLT
CODE ENDS
END START
调试程序:
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
ARRAY DB 65H,76H,78H,54H,90H,85H,68H
NEW DB 7 DUP(?)
BUF1 DW 100 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: PUSH DS
MOV AX,DATA
MOV DS,AX
MOV CX, 7
MOV BX, 0
LP1: MOV AL, ARRAY[BX]
ADD AL, 05H
DAA
MOV NEW[BX], AL
INC BX
LOOP LP1
HLT
CODE ENDS
END START
微型计算机原理与接口技术(周荷琴 冯焕清)第六版 课后习题答案 第三章(部分答案)相关推荐
- 微型计算机原理与接口技术(周荷琴 冯焕清)第六版 课后习题答案 第一章(部分答案)
第一章 1. 将下列二进制数转换成十进制数 (1)11001010B=202 (2)00111101B=61 (3)01001101B=77 (4)10100100B=164 2.将下列十六进制数转换 ...
- 微型计算机原理与接口技术 (周荷琴 冯焕清)第六版 课后习题答案 第六章(部分答案)
第六章 2. 什么叫 I/O 端口?一般的接口电路中可以设置哪些端口?计算机对 I/O 端口寻址时可采 用哪两种方法?在8086/8088CPU 中一般采用哪种编制方法? (1)端口:在接口电路中,存 ...
- 微型计算机原理与接口技术(周荷琴 冯焕清)第六版 课后习题答案 第二章(部分答案)
第二章 2.8086CPU内部由哪两部分组成?它们的大致是如何工作的? 8086CPU由指令执行部件EU和总线接口部件BIU两部分组成 ①BIU先执行读存储器操作,从给定地址单元中取出指令,送到先进先 ...
- 微型计算机原理与接口技术 (周荷琴 冯焕清) 第六版 课后习题答案 第八章(部分答案)
第八章 6. 如果中断类型号 n=4,它的中断服务子程序的入口地址为 CS:IP=0485:0016H,它在中断向量表中如何存放? 中断类型号 n=4,中断向量指针=中断类型号×4=n×4=10H 从 ...
- 微型计算机原理与接口技术 (周荷琴 冯焕清)第六版 课后习题答案 第五章(部分答案)
第五章 3. 试从功耗.容量.价格优势.使用是否方便等几个方面,比较静态 RAM 和 动态 RAM 的优缺点,并说明这两类存储器芯片的典型应用 SRAM.DRAM 均为易失性存储器. 优点:SRAM ...
- 微型计算机原理与接口技术第六版周荷琴答案
微机原理与接口技术第六版课后答案 [内容简介] 本书是为中国科学技术大学工科电子类专业本科生学习"微型计算机原理与系统"课程而编写的教材.微型计算机原理与接口技术第六版周荷琴答案从 ...
- 2接口详解_冯博琴微型计算机原理与接口技术第3版答案资料配套题库名校考研真题课后习题章节题库模拟试题...
冯博琴<微型计算机原理与接口技术>(第3版)配套题库[名校考研真题+课后习题+章节题库+模拟试题] 第一部分 名校考研真题 第1章 微型计算机基础概论 第2章 微处理器与总线 第3章 80 ...
- 微型计算机原理与接口技术(慕课版),微机原理与接口技术(温淑焕)
spContent=课程面向有志于从事计算机过程控制系统设计.或对计算机硬件结构感兴趣的学习者.总体目标是:具备输入/输出接口控制系统软硬件初步设计能力. 主要介绍:计算机基础知识.微型机基本工作原理 ...
- 《微型计算机原理与接口技术》复习笔记(四)
使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记一 微机原理复习笔记二 微机原理复习笔记三 微机原理复习笔记四 中断系统 1 ...
最新文章
- 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
- 字典 update()
- 森林正版服务器,The Forest 专用服务器设置向导
- C++ Vector 使用总结
- 【pytorch】torch 查看GPU
- ubuntu 配置 静态ip
- 第一二章(PTA复习)
- DSP5509的GPIO学习-第5篇
- python 日志模块 日志格式
- linux运维企业shell,shell脚本-企业日常巡检脚本
- win11在桌面添加便签的快捷方式
- 十本数据结构与算法书籍推荐
- 总结软考(软件设计师中级)——计算机语言基础的知识
- 浏览器设置阻止第三方Cookie保护自己隐私
- linux 运行安卓游戏吗,桌面应用|在 Linux 上安装安卓 8.1 Oreo 来运行应用程序和游戏...
- CDA数据分析师level2(模拟题考点记录)
- 【计算机组成原理】计算机系统结构笔记:合集
- 关于单相变频电源及变频电路部分介绍
- tf2 + keras学习
- GO Package、GOPATH、GOMOD、GOROOT、GOPROXY、版本迭代
热门文章
- 可视化工具不知道怎么选?深度评测5大Python数据可视化工具
- 博客网站的选择兼开博通文
- ERP应收应付的操作与设计--开源软件诞生21
- ubuntu系统下C语言编写简单程序
- [蓝桥杯]连号区间数[题目详解]
- 横扫阿里、滴滴、美团后,3年经验的Java后端妹子整理出这份厚厚的面经!
- 安装mingw发现bin目录下没有mingw32-make.exe怎么办?
- selenium无登录状态爬取Boss直聘
- 欺骗的艺术----(5)
- Flutter 组件之AlertDialog、SimpleDialog、showModalBottomSheet、showToast、自定义Dialog