微机原理及应用习题库硬件应用设计题汇编语言程序设计题(3)

2019-04-14 22:48

微机原理及应用 汇编语言程序设计 第32讲~第38讲 0.8 0.8 15

在首址为DAT的字数组中存放有100个无符号数,求出它们的平均值,并统计大于、等于及小于此平均数的个数。

1. 简述编程思想,画出流程图; 2. 编写完整的源程序。 1. 编程思想

先求出100个无符号数的和,除以100就是平均值;然后用每个数与平均值比较就可得出大于、等于及小于此平均数的个数。 2. 完整的汇编语言程序

STACK SEGMENT STACK DB 256 DUP(?) STACK ENDS DATA SEGMENT

DAT DB 100 DUP(?) LVEL DB 0 GDAT DB 0 EDAT DB 0 LDAT DB 0 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV CX,100 LEA SI,DAT MOV AX,0 L1: ADD AL,[SI] ADC AH,0 INC SI LOOP L1 MOV BL,100 DIV BL

MOV LVEL,AL MOV CX,100 LEA SI,DAT CMP [SI,AL JA DY JE XD INC LDAT

11

JMP L2

DY: INC GDAT JMP L2 XD: INC EDAT L2: INC SI LOOP L1

MOV AH,4CH INT 21H CODE ENDS

END START

微机原理及应用 汇编语言程序设计 第32讲~第38讲 0.8 0.8 15

编一个完整的汇编语言程序,求某数的绝对值,并将结果放回原处。STACK SEGMENT STACK DB 256 DUP(?) STACK ENDS DATA SEGMENT XADR DW 3456H DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,XADR TEST AX,8000H JNS DONE NEG AX

MOV XADR,AX MOV AH,4CH INT 21H CODE ENDS

END START

微机原理及应用 汇编语言程序设计 第32讲~第38讲 0.8 0.8

12

15

编一个完整的汇编语言程序,完成将以DSRC为首址的连续的100个字节搬家到DDST以下单元。

STACK SEGMENT STACK DB 256 DUP(?) STACK ENDS DATA SEGMENT

DSRC DB 100 DUP(?) DDST DB DUP(?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX LEA SI,DSRC LEA DI,DDST MOV CX,100 NEXT: MOV AL,[SI] MOV [DI],AL INC SI INC DI

LOOP NEXT MOV AH,4CH INT 21H CODE ENDS

END START

微机原理及应用 汇编语言程序设计 第32讲~第38讲 0.8 0.8 15

编写FAR类型子程序实现以十六进制数在屏幕上显示AL的内容。 1. 写出编程思想。 2. 编写完整的源程序。 CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK DISPLAY PROC FAR

PUSH AX PUSH CX PUSH DX

13

PUSH AX MOV CL,4 ;处理高位十六进制数

SHR AL,CL CALL CHANG ;十六进制数变换成ASCII码

MOV AH,02 MOV DL,AL INT 21H ;显示一位字符

POP AX AND AL,0FH ;处理低位十六进制数 CALL CHANG

;十六进制数变换成ASCII码

MOV AH,02 MOV DL,AL INT 21H ;显示一位字符

POP DX POP CX POP AX RET DISPAL ENDP

CODE ENDS

END DISPLAY

MOV AH,4CH INT 21H CODE ENDS

END START

微机原理及应用 汇编语言程序设计 第32讲~第38讲 0.8 0.8 15

编写FAR类型子程序实现统计一个字(AX)中“1”的个数。

14

1.写出编程思想。 2.编写完整的源程序。 1.编程思想

由于AL中有两位十六进制数,每一位的值为0~9、0AH~0FH,在显示时需要将它们转换成相应的ASCII码,然后调用INT 21H的02H号功能进行显示。 2.完整的源程序 CODE SEGMENT

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

COUNTER1 PROC NEAR PUSH AX

COU1:

SHR AX,1 ADC BL,0 LOOP COU1 MOV CX,16 XOR BL,BL

POP AX RET COUNTER1 ENDP

CODE ENDS

END DISPLAY

微机原理及应用 汇编语言程序设计 第32讲~第38讲 0.8 0.8 15

设在BUFFER中已经保存有字型数据(x1,x2,?,xn),其中前2个字节为数据的个数,计算数据的差分,并保存在DIFF缓冲区中。 1.写出编程思想。 2.编写完整的源程序。 1.编程思想

可根据数据的差分定义来编成计算,其公式为:

dxk?

xk?xk?12(k?1,2,?,n?1)

15


微机原理及应用习题库硬件应用设计题汇编语言程序设计题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:塔吊群塔作业安全施工方案

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

马上注册会员

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