实验二 数据统计

发布时间:2017-08-02 15:32:25   来源:文档文库   
字号:

电工电子实验中心

实验报告

课程名称: 计算机硬件技术基础

实验名称:数据统计

姓名:学号:

评定成绩:审阅教师:

实验时间:2017.05.02

南京航空航天大学



一、 实验目的要求

1) 熟悉汇编语言程序的框架结构,掌握循环程序的设计方法。

2) 熟悉常用的条件跳转指令。

3) 熟悉有符号数的运算。

二、 实验任务

本实验要求通过求某数据区内负数的个数来表现循环程序的结构形式。要求实验程序在数据段中存放一组数据,分类统计数据中正数、负数和零的个数,并分别存入内存变量 Positive、Negative和 Zero 中。将所有数据累加求和,存入 SUM 中。

三、 实验代码

DATA SEGMENT

NUM DB 12H,88H,82H,89H,33H,90H,0H,10H,0BDH,01H

POSITIVE DB DUP (0)

NEGATIVE DB DUP (0)

ZERO DB DUP (0)

SUM DW 2 DUP (0)

DATA ENDS

STACK1 SEGMENT STACK

DB DUP (0)

STACK1 ENDS

CODE SEGMENT

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

START PROC FAR

PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DATA

MOV DS, AX

MOV SUM,0

MOV BX, 0;bx为基地址寄存器,故使用此寄存器来进行累加,可以直接遍历NUM

LABEL4:

CMP NUM[BX],0

MOV AX,0

MOV AL,NUM[BX]

ADD SUM,AX

JGE LABEL1

INC NEGATIVE

JMP LABEL3

LABEL1:

CMP NUM[BX],0

JE LABEL2;

INC POSITIVE

JMP LABEL3

LABEL2:

INC ZERO

LABEL3:

INC BX

CMP BX,10

JL LABEL4

MOV AX, 0

MOV DL,POSITIVE+30

MOV AH,02H

INT 21H

MOV DL,NEGATIVE+30

INT 21H

MOV DL,ZERO+30

INT 21H

RET

START ENDP

CODE ENDS

END START

四、 实验的运行数据及分析

DS:0000

12

88

82

89

33

90

00

10

DS:0008

BD

01

09

00

01

36

03

00

POSITIVE :9

NEGATIVE :0

ZERO :1

SUM :0336

五、 实验讨论及心得体会

该实验的难点是循环部分的编写,语句的用法不是很熟练思路也有些混乱,经过认真研读教材和同学进行讨论解决了问题学会了循环程序的编写和跳转指令的应用。

本文来源:https://www.2haoxitong.net/k/doc/4bfad5502a160b4e767f5acfa1c7aa00b52a9d92.html

《实验二 数据统计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式