微机原理程序习题

4.1 请分别用DB 、DW 、DD 伪指令写出在DA TA 开始的连续8个单元中依次存放数据11H 、22H 、33H 、44H 、55H 、66H 、77H 、88H 的数据定义语句。 DA TA

解:DB 、DW 、DD 伪指令分别表示定义的数据为字节型、字类型及双字类型。其定义形式为:

DA TA DB 11H, 22H, 33H, 44H, 55H, 66H, 77H, 88H DA TA DW 2211H, 4433H, 6655H, 8877H

DA TA DD 44332211H, 88776655H

4.2 若程序的数据段定义如下,写出各指令语句独立执行后的结果。 DSEG SEGMENT DA TA1 DB 10H, 20H, 30H DA TA2 DW 10 DUP (?) String DB ‘123’ DSEG ENDS

(1) MOV AL, DATA1 (2) MOV BX, offset DATA2

(3) LEA SI, String

ADD DI,SI 解:先取变量String 的偏移地址送寄存器SI, 之后将SI 的内容与DI 的内容相加并将结果送DI 。指令执行后,SI=0017H, DI=DI+0017H

4.3 试编写求两个无符号数双字长数之和的程序。两数分别在MEM1和MEM2单元中,其和放在SUM 单元。

DSEG SEGMENT

MEM1 DW 1122H, 3344H MEM1 DW 5566H, 7788H SUM DW 2 DUP(?) DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG

MOV DS,AX

LEA BX, MEM1 LEA SI, MEM2

LEA DI, SUM MOV CL,2

CLC

AGAIN: MOV AX,[BX] ADC AX, [SI] MOV [DI], AX

ADD BX, 2

ADD SI, 2 ADD DI, 2 LOOP AGAIN MOV AX, 4C00h

INT 21h

CSEG ENDS

END START

4.4 试编写程序,测试AL 寄存器的第4位(B4)是否为零? 如:TEST AL, 10H

JZ NEXT ….

NEXT :….. 或者: MOV CL,4 SHL AL, CL JNC NEXT ……

NEXT :…..

4.5 试编写程序,将BUFFER 中的一个8位二进制数转化为ASCII 码,并按位数高低顺序存放ANSWER 开始的内存单元中。 解:

DSEG SEGMENT BUFFER DB ? ANSWER DB 3 DUP(?) DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 3

LEA DL, ANSWER

XOR AX,AX MOV AL, BUFFER MOV BL,0AH

AGAIN: DIV BL

ADD AH,30H MOV [DI],AH INC DI AND AL,AL JZ STO MOV AH, 0 LOOP AGAIN STO: MOV AX, 4C00H INT 21H CSEG ENDS

END START

4.6 假设数据项定义如下:

DA TA1 DB ‘HELLO!GOOD MORNING’ DA TA2 DB 20 DUP(?)

用串操作指令编写程序段,使其分别完成一下功能。 (1) 从左到右将DA TA1中的字符串传送到DA TA2中; (2) 传送完后,比较DA TA1和DA TA2中的内容是否相同; (3) 把DA TA1中的第3个字节和第四个字节装入AX; (4) 将AX 的内容存入DA TA2+5开始的字节单元中; 解:(1)

MOV AX, SEG DATA1 MOV DS, AX

MOV AX, SEG DATA2 MOV ES, AX LEA SI, DATA1 LEA DI, DATA2 MOV CX,20 CLD

REP MOVSB (2) EA SI, DATA1 LEA DI, DATA2 MOV CX,20 CLD

REPE CMPSB

(3)LEA SI, DATA1 ADD SI,2 LODSW

(4) LEA DI, DATA2

ADD DI, 5 MOV CX, 7 CLD

REP STOSW

4.7 执行下列指令后,AX

TABLE DW 10,20,30,40,50 ENTRY DW 3

……

MOV BX, Offset TABLE ADD BX, ENTRY MOV AX,[BX] 解:AX=1E00H.

4.8 画图说明下列语句分配的存储器空间及初始化的数据值。 (1)DA TA1 DB ‘BYTE ’,12,12H,2 DUP(0,?,3) (2) DATA2 DW 4 DUP(0,1,2), ?, -5,256H DA TA1 ‘B ’

‘Y ’

‘T ’

‘E ’

高 地 址 方 向

高地址方向 DA TA2

DUP(0,1,2)

高地址方向

DUP(0,1,2)

DUP(0,1,2)

DUP(0,1,2)

4.9 图示以下数据段在存储器中的存放形式; DA TA SEGMENT DA TA1 DB 10H, 34H, 07H, 09H DA TA2 DW 2 DUP(42H) DA TA3 DB ‘HELLO! ’ DA TA4 EQU 12 DA TA5 DD ABCDH DA TA ENDS

H E L L O !

4.10 阅读下边的程序段,试说明它实现的功能是什么? DA TA SEGMENT DA TA1 DB 'ABCDEFG' DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA AAAA: MOV AX,DATA MOV DS,AX

MOV BX, OFFSET DATA1 MOV CX,7 NEXT: MOV AH,2 MOV AL, [BX] XCHG AL,DL

INC BX INT 21H LOOP NEXT

MOV AH,4CH

INT 21H CODE ENDS END AAAA

4.1 请分别用DB 、DW 、DD 伪指令写出在DA TA 开始的连续8个单元中依次存放数据11H 、22H 、33H 、44H 、55H 、66H 、77H 、88H 的数据定义语句。 DA TA

解:DB 、DW 、DD 伪指令分别表示定义的数据为字节型、字类型及双字类型。其定义形式为:

DA TA DB 11H, 22H, 33H, 44H, 55H, 66H, 77H, 88H DA TA DW 2211H, 4433H, 6655H, 8877H

DA TA DD 44332211H, 88776655H

4.2 若程序的数据段定义如下,写出各指令语句独立执行后的结果。 DSEG SEGMENT DA TA1 DB 10H, 20H, 30H DA TA2 DW 10 DUP (?) String DB ‘123’ DSEG ENDS

(1) MOV AL, DATA1 (2) MOV BX, offset DATA2

(3) LEA SI, String

ADD DI,SI 解:先取变量String 的偏移地址送寄存器SI, 之后将SI 的内容与DI 的内容相加并将结果送DI 。指令执行后,SI=0017H, DI=DI+0017H

4.3 试编写求两个无符号数双字长数之和的程序。两数分别在MEM1和MEM2单元中,其和放在SUM 单元。

DSEG SEGMENT

MEM1 DW 1122H, 3344H MEM1 DW 5566H, 7788H SUM DW 2 DUP(?) DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG

MOV DS,AX

LEA BX, MEM1 LEA SI, MEM2

LEA DI, SUM MOV CL,2

CLC

AGAIN: MOV AX,[BX] ADC AX, [SI] MOV [DI], AX

ADD BX, 2

ADD SI, 2 ADD DI, 2 LOOP AGAIN MOV AX, 4C00h

INT 21h

CSEG ENDS

END START

4.4 试编写程序,测试AL 寄存器的第4位(B4)是否为零? 如:TEST AL, 10H

JZ NEXT ….

NEXT :….. 或者: MOV CL,4 SHL AL, CL JNC NEXT ……

NEXT :…..

4.5 试编写程序,将BUFFER 中的一个8位二进制数转化为ASCII 码,并按位数高低顺序存放ANSWER 开始的内存单元中。 解:

DSEG SEGMENT BUFFER DB ? ANSWER DB 3 DUP(?) DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 3

LEA DL, ANSWER

XOR AX,AX MOV AL, BUFFER MOV BL,0AH

AGAIN: DIV BL

ADD AH,30H MOV [DI],AH INC DI AND AL,AL JZ STO MOV AH, 0 LOOP AGAIN STO: MOV AX, 4C00H INT 21H CSEG ENDS

END START

4.6 假设数据项定义如下:

DA TA1 DB ‘HELLO!GOOD MORNING’ DA TA2 DB 20 DUP(?)

用串操作指令编写程序段,使其分别完成一下功能。 (1) 从左到右将DA TA1中的字符串传送到DA TA2中; (2) 传送完后,比较DA TA1和DA TA2中的内容是否相同; (3) 把DA TA1中的第3个字节和第四个字节装入AX; (4) 将AX 的内容存入DA TA2+5开始的字节单元中; 解:(1)

MOV AX, SEG DATA1 MOV DS, AX

MOV AX, SEG DATA2 MOV ES, AX LEA SI, DATA1 LEA DI, DATA2 MOV CX,20 CLD

REP MOVSB (2) EA SI, DATA1 LEA DI, DATA2 MOV CX,20 CLD

REPE CMPSB

(3)LEA SI, DATA1 ADD SI,2 LODSW

(4) LEA DI, DATA2

ADD DI, 5 MOV CX, 7 CLD

REP STOSW

4.7 执行下列指令后,AX

TABLE DW 10,20,30,40,50 ENTRY DW 3

……

MOV BX, Offset TABLE ADD BX, ENTRY MOV AX,[BX] 解:AX=1E00H.

4.8 画图说明下列语句分配的存储器空间及初始化的数据值。 (1)DA TA1 DB ‘BYTE ’,12,12H,2 DUP(0,?,3) (2) DATA2 DW 4 DUP(0,1,2), ?, -5,256H DA TA1 ‘B ’

‘Y ’

‘T ’

‘E ’

高 地 址 方 向

高地址方向 DA TA2

DUP(0,1,2)

高地址方向

DUP(0,1,2)

DUP(0,1,2)

DUP(0,1,2)

4.9 图示以下数据段在存储器中的存放形式; DA TA SEGMENT DA TA1 DB 10H, 34H, 07H, 09H DA TA2 DW 2 DUP(42H) DA TA3 DB ‘HELLO! ’ DA TA4 EQU 12 DA TA5 DD ABCDH DA TA ENDS

H E L L O !

4.10 阅读下边的程序段,试说明它实现的功能是什么? DA TA SEGMENT DA TA1 DB 'ABCDEFG' DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA AAAA: MOV AX,DATA MOV DS,AX

MOV BX, OFFSET DATA1 MOV CX,7 NEXT: MOV AH,2 MOV AL, [BX] XCHG AL,DL

INC BX INT 21H LOOP NEXT

MOV AH,4CH

INT 21H CODE ENDS END AAAA


相关文章

  • 微机原理期末复习题答案
  • 请注意:本复习题中绝对不会出现考试原题,仅作为题目类型及难度参考用,请大家不要 背题目,认真按照复习提纲复习,多看看课堂实例.平时作业.课堂练习和实验报告,希望大家都能顺利通过考试! 一.选择题 1. 在DMA 方式下,CPU 与总线的关系 ...查看


  • 单片微机原理及应用 徐春辉第5章 习题答案
  • 练习与思考题5 1. 用于程序设计的语言分为哪几种?它们各有什么特点? 答:51系列单片机的编程语言可以分为汇编语言和高级语言(如C语言)两种,各自的特 2. 说明伪指令的作用."伪"的含义是什么?常用的伪指令有哪些?其 ...查看


  • 长江大学大学计算机基础习题二解答
  • 杜友福习题二0327 [简答题] 1. 试简要回答"冯·诺依曼理论"的三个要点?(如果问题是"计算机工作原理是什么"只需写前 面两点) 答:"冯·诺依曼理论"的三个要点为: ① 采 ...查看


  • 微机原理及应用习题库与答案
  • 微机原理及应用习题库与答案 习题与练习题1 第1章 绪论 1. 计算机分那几类?各有什么特点? 2. 简述微处理器.微计算机及微计算机系统三个术语的内涵. 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响.微计算机包括8 ...查看


  • [测试系统原理与设计](孙传友编著)--习题答案(个人整理)
  • <测试系统原理与设计>(孙传友编著)--习题答案(个人整理) (答案仅供参考,部分答案没有,由个人总结整理,若有错误或不当之处请见谅) 第一章 绪论 1. 为什么说仪器技术是信息的源头技术? 仪器是一种信息的工具,起着不可或缺的 ...查看


  • [微机测控系统原理与设计]习题解答
  • <微机测控系统原理与设计>习题解答 本习题解答是高等学校教材<微机测控系统原理与设计>(曹江涛.孙传友主编,高等教育出版社2014年1月出版)全书各章习题的参考答案. 第1章 1.为什么说系统技术是信息的源头技术? ...查看


  • [微机原理及应用]课程教学方法探讨
  • 摘要:对<微机原理及应用>课程的课堂教学和实验实践教学方法进行了探讨.针对课堂教学,从教学内容和课堂教育方法两方面进行了总结探讨.探索创新:针对实验实践,对实验内容和实验教学模式进行了大胆尝试. 关键词:微型原理及应用:教学方法 ...查看


  • 大学几乎所有学科的课本答案[2]
  • 大学几乎所有学科的课本答案! 来源: 任明嘉的日志 经济金融 [PDF格式]<会计学原理>同步练习题答案 [Word格式]<成本会计>习题及答案(自学推荐,23页) [Word格式]<成本会计>配套习题集 ...查看


  • 2017年微机原理期末复习题
  • 2017年微机原理期末复习题 第 1 部分基本要求 第1章绪论 1,了解微机系统组成及基本工作原理: 2,熟悉数制及其转换方法: 3,熟悉二进制数的加减运算和逻辑运算: 4,熟悉补码的运算规则及溢出的判断方法. 第 2,3,4 章8086/ ...查看


热门内容