东北大学
计算机硬件技术基础实验报告
专业班级:成型1203 姓名:薛登峰学号:20122354
实验题目:综合程序设计日期:2014/12/4
一、实验目的
(1) 加深对循环结构、分支结构、顺序结构的理解。
(2) 加强各种结构程序的综合应用。
二、思考题
测试最低位也可以用右移指令,然后判断CF状态,请问如何修改程序语句?
答:AGAIN:
SHR AL,1
JNC EVENS
ADD BL,[SI]
ADC BH,0
JMP CHCNT
EVENS:ADD DL,[SI]
ADC DH,0
三、扩展题
有一个班级,学生人数存储于内存NUB单元,该班同学某门课程的成绩存放于内存S开始的单元,编制程序,统计该班课程的平均成绩,存放于E单元。
源程序:CSEG SEGMENT
S DW 86,88,90,92,94,96
NUB DB 6
E DB 0
DSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,CSEG
MOV DS,AX
LEA SI,S
MOV CL,NUB ;循环次数存入CL
XOR AX,AX ;AX清零
L0: ;循环体求各个数据之和
ADD AX,[SI]
ADD SI,2
LOOP L0
MOV BL,NUB ;求平均值
DIV BL
MOV DL,AL
MOV E,DL ;将平均值赋给E
MOV AH,4CH
INT 21H
DSEG ENDS
END START
当数据块中数据是86,88,90,92,94,96时,数据个数NUB为6,平均值E为91,正确,结果如下:
,
当数据块中数据是63,65,67,69,71,73,75,77,79时,数据个数NUB为9,平均值E为71,正确,结果如下:
,
四、实验心得
理解了汇编语言中编程的基本步骤,熟悉了循环程序、顺序程序设计的方法。对传送偏移地址指令LEA及循环指令LOOP有了进一步的了解。对数据在内存中的存放也有了更清晰的认识在以后的学习中,还应该加强理论知识的学习。