统计数据个数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:微机原理及接口技术
实验项目:统计数据个数程序
实验地点:微机原理实验室
专业班级:电信1001 学号:20100011193 学生姓名:
指导教师:任光龙
2013年6 月5 日
一、实验目的
掌握将多位十六位进制数转换成多为十进制数ACSLL码的方法
二、实验内容
统计内存数组中大于0和小于0的元素个数,并将结果分别存放在LRESULT和LRESULT变量中,并显示个数。
三、实验程序
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
ARY DB 1,3,-1,2,6,-9,-5,7,8,1,3,8,-6,8,-9,-7,2,4,-3,-3
DB -4,7,7,8,3,1,3,6,8,5,5,6,4,5,7,-4,2,4,5,-7,5,4
DB 2,5,7,8,8,8,7,6,-5,4,3,2,1,-1,2,2,3,-4,5,6,7
N=$-ARY
LRESULT DW 0
HRESULT DW 0
TJJG DB 'STAISTICS RESULT:',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
SHOW MACRO B
PUSH DX
PUSH AX
MOV DX,B
MOV AH,02H
INT 21H
POP AX
POP DX
ENDM
XOR CX,CX
MOV CX,N
LEA SI,ARY LOP: MOV AL,[SI]
CMP AL,0
JNS PLUS
INC LRESULT
JMP CONT PLUS: INC HRESULT CONT: INC SI
LOOP LOP
LEA DX,TJJG
MOV AH,09H
SHOW '+'
MOV AX,HRESULT
CALL DISPL
SHOW 0DH
SHOW 0AH
SHOW '-'
MOV AX,LRESULT
CALL DISPL
MOV AX,4C00H
INT 21H
DISPL PROC
PUSH DX
PUSH AX
MOV CX,10
MOV DX,00H
MOV BX,00H
DIV CX
MOV BX,DX
ADD AL,30H DISPL1: MOV DL,AL
MOV AH,02H
MOV DL,BL
ADD DL,30H
MOV AH,02H
INT 21H
POP AX
POP DX
RET
DISPL ENDP
CODE ENDS
END START 四、实验结果
五、思考题
试分析程序中语句“MOV CX,N”执行后,副给CX寄存器值是多少?
答:CX中的值是3FH
六、实验总结
通过本次试验,不仅加深了对课堂上所学到的微机原理知识的认识,还学会利用汇编语言进行编程对数据进行统计加工,实验中遇到的程序比较长但是仔细的分析还是能够稍微的理解,加深了对微机原理课程的理解。