第三章

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. 将下列二进制数转换成十进制数 (1)11001010B=202 (2)00111101B=61 (3)01001101B=77 (4)10100100B=164 2.将下列十六进制数转换 ...

  2. 微型计算机原理与接口技术 (周荷琴 冯焕清)第六版 课后习题答案 第六章(部分答案)

    第六章 2. 什么叫 I/O 端口?一般的接口电路中可以设置哪些端口?计算机对 I/O 端口寻址时可采 用哪两种方法?在8086/8088CPU 中一般采用哪种编制方法? (1)端口:在接口电路中,存 ...

  3. 微型计算机原理与接口技术(周荷琴 冯焕清)第六版 课后习题答案 第二章(部分答案)

    第二章 2.8086CPU内部由哪两部分组成?它们的大致是如何工作的? 8086CPU由指令执行部件EU和总线接口部件BIU两部分组成 ①BIU先执行读存储器操作,从给定地址单元中取出指令,送到先进先 ...

  4. 微型计算机原理与接口技术 (周荷琴 冯焕清) 第六版 课后习题答案 第八章(部分答案)

    第八章 6. 如果中断类型号 n=4,它的中断服务子程序的入口地址为 CS:IP=0485:0016H,它在中断向量表中如何存放? 中断类型号 n=4,中断向量指针=中断类型号×4=n×4=10H 从 ...

  5. 微型计算机原理与接口技术 (周荷琴 冯焕清)第六版 课后习题答案 第五章(部分答案)

    第五章 3. 试从功耗.容量.价格优势.使用是否方便等几个方面,比较静态 RAM 和 动态 RAM 的优缺点,并说明这两类存储器芯片的典型应用 SRAM.DRAM 均为易失性存储器. 优点:SRAM  ...

  6. 微型计算机原理与接口技术第六版周荷琴答案

    微机原理与接口技术第六版课后答案 [内容简介] 本书是为中国科学技术大学工科电子类专业本科生学习"微型计算机原理与系统"课程而编写的教材.微型计算机原理与接口技术第六版周荷琴答案从 ...

  7. 2接口详解_冯博琴微型计算机原理与接口技术第3版答案资料配套题库名校考研真题课后习题章节题库模拟试题...

    冯博琴<微型计算机原理与接口技术>(第3版)配套题库[名校考研真题+课后习题+章节题库+模拟试题] 第一部分 名校考研真题 第1章 微型计算机基础概论 第2章 微处理器与总线 第3章 80 ...

  8. 微型计算机原理与接口技术(慕课版),微机原理与接口技术(温淑焕)

    spContent=课程面向有志于从事计算机过程控制系统设计.或对计算机硬件结构感兴趣的学习者.总体目标是:具备输入/输出接口控制系统软硬件初步设计能力. 主要介绍:计算机基础知识.微型机基本工作原理 ...

  9. 《微型计算机原理与接口技术》复习笔记(四)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记一 微机原理复习笔记二 微机原理复习笔记三 微机原理复习笔记四 中断系统 1 ...

最新文章

  1. 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
  2. 字典 update()
  3. 森林正版服务器,The Forest 专用服务器设置向导
  4. C++ Vector 使用总结
  5. 【pytorch】torch 查看GPU
  6. ubuntu 配置 静态ip
  7. 第一二章(PTA复习)
  8. DSP5509的GPIO学习-第5篇
  9. python 日志模块 日志格式
  10. linux运维企业shell,shell脚本-企业日常巡检脚本
  11. win11在桌面添加便签的快捷方式
  12. 十本数据结构与算法书籍推荐
  13. 总结软考(软件设计师中级)——计算机语言基础的知识
  14. 浏览器设置阻止第三方Cookie保护自己隐私
  15. linux 运行安卓游戏吗,桌面应用|在 Linux 上安装安卓 8.1 Oreo 来运行应用程序和游戏...
  16. CDA数据分析师level2(模拟题考点记录)
  17. 【计算机组成原理】计算机系统结构笔记:合集
  18. 关于单相变频电源及变频电路部分介绍
  19. tf2 + keras学习
  20. GO Package、GOPATH、GOMOD、GOROOT、GOPROXY、版本迭代

热门文章

  1. 可视化工具不知道怎么选?深度评测5大Python数据可视化工具
  2. 博客网站的选择兼开博通文
  3. ERP应收应付的操作与设计--开源软件诞生21
  4. ubuntu系统下C语言编写简单程序
  5. [蓝桥杯]连号区间数[题目详解]
  6. 横扫阿里、滴滴、美团后,3年经验的Java后端妹子整理出这份厚厚的面经!
  7. 安装mingw发现bin目录下没有mingw32-make.exe怎么办?
  8. selenium无登录状态爬取Boss直聘
  9. 欺骗的艺术----(5)
  10. Flutter 组件之AlertDialog、SimpleDialog、showModalBottomSheet、showToast、自定义Dialog