微型计算机原理及应用答案汇总(5)

2019-01-27 12:53

微型计算机原理习题参考答案

ADC MOV

DX,AL [DI],DX

JMP EXIT

ZERO: MOV AL,0 MOV MOV MOV ; EXIT:

MOV AX,4C00H INT 21H A,AL B,AL C,AL

CODE ENDS END START

11.(16)试编程序,统计由 TABLE 开始的 128 个单元中所存放的字符“A”的个数,并将结果存放在 DX 中。解答: DATA SEGMENT

TABLE DB X1,X2,...X128 DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA

MOV DS,AX

LEA SI,TABLE

MOV DX,0 MOV CX,128

AGAIN: MOV AL,[SI]

CMP AL,'A' JNZ NEXT INC DX

NEXT: INC SI

LOOP AGAIN

MOV AX,4C00H INT 21H

CODE ENDS END START

- 21 -

微型计算机原理习题参考答案

12.试编制一个汇编语言程序,求出首地址为 DATA 的 1000 个字数组中的最小偶数,并把它存放于 MIN 单元中。解答: DATA SEGMENT

ARRAY DW X1,X2,...X1000 ARRAY_EVEN DW 1000 DUP(?) MIN DW ? MAX DW ? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA

MOV DS,AX

;将数组中的偶数放入 ARRAY_EVEN 中 LEA SI,ARRAY LEA DI,ARRAY_EVEN MOV CX,1000 AGAIN: MOV AX,[SI]

TEST AX,01h

JNZ MOV INC INC

NEXT [DI],AX DI DI

NEXT: INC SI INC SI

LOOP AGAIN

;找出 ARRAY_EVEN 中的最大数 LEA SI,ARRAY_EVEN MOV CX,999 MOV MOV

AX,[SI] BX,AX

INC SI INC SI

NEXT: CMP AX,[SI] JAE LL MOV AX,[SI] LL: INC SI INC SI LOOP NEXT

- 22 -

微型计算机原理习题参考答案

MOV MAX,AX

;找出 ARRAY_EVEN 中的最小数(第 13 题增加的部分) LEA SI,ARRAY_EVEN MOV MOV MOV INC

CX,999 AX,[SI] BX,AX SI

INC SI

NEXT: CMP AX,[SI] JBE MOV INC

SS

AX,[SI] SI

SS: INC SI LOOP NEXT MOV MIN,AX ;返回 DOS

MOV AX,4C00H INT 21H

CODE ENDS END START

13.在上题中,如果要求同时找出最大和最小的偶数,并把它们分别存放于 MAX 和 MIN 单元中,试完成程序。解答:略(见第 12 题)。 14.(28)在 DATA 字数组中存放有 100H 个 16 位补码数,试编写一程序求它们的平均值,放在 AX 中,并求出数组中有多少个数小于平均值,将结果存于 BX 中。 解答:

DATA SEGMENT

DAT DW X1,X2,...X256 DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA

MOV DS,AX

;将数组中的 100H 个数求和后求平均值 LEA SI,DAT MOV CX,100H CLC

- 23 -

微型计算机原理习题参考答案

MOV MOV

BX,0000 DX,0000

AGAIN: MOV AX,[SI] ADD BX,AX JNC ADC

NEXT DX,1

NEXT: INC SI INC SI

LOOP AGAIN MOV MOV DIV

CX,100H AX,BX CX

;找出 DAT 中的小于平均值的个数 LEA SI,DAT MOV CX,100H MOV DX,0000H AGAIN0:MOV BX,[SI] CMP JGE INC

BX,AX;与平均值 AX 比较,大于等于则转 NEXT0,否则将读数器 DX 加 1 NEXT0 DX

NEXT0: INC SI INC SI

LOOP AGAIN0 MOV BX,DX ;返回 DOS

MOV AX,4C00H INT 21H CODE ENDS END START

15.(17)编写一个子程序,对 AL 中的数据进行偶校验,并将经过校验的结果放回 AL 中。 解答:

DATA SEGMENT COUNT EQU 7 DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

- 24 -

微型计算机原理习题参考答案

START: MOV AX,DATA

MOV DS,AX

PUSH AX

MOV DX,0

MOV CX,COUNT

AGAIN: RCR AL,1

JNC L INC DX

LOOP AGAIN POP AX TEST DX,01 JZ EXIT OR AL,80

EXIT:

MOV AX,4C00H INT 21H

L:

;ANOTHER METHORD JP EXIT

EXIT:

OR AL,80H MOV AX,4C00H INT 21H

CODE ENDS END START

16.(18)利用上题的予程序,对 DATA 开始的 256 个单元的数据加上偶校验,试编程序。 解答:

DATA SEGMENT DAT DB ...;256 DUP (?) RESULT DB ...;256 DUP (?) NUM EQU 256 COUNT EQU 7 DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA

- 25 -


微型计算机原理及应用答案汇总(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:食用油检测毕设论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: