END START
2.输入程序并检查无误,经汇编、连接后装入系统 3. E3000↙输入数据如下: 3000=06(数据个数) 3001=12、88、82、90、22、33 4.G=0000:2000↙,运行实验程序。 5.D=3007↙,显示结果03
第 35 页 共 87 页
35
四 实验结果
1.实验一结果如图(4-1)所示:
图4-1实验结果为045FH
实验二(结果):
1.输入数据,结果如图(4-2)所示:
图4-2数据输入
第 36 页 共 87 页
36
2.运行程序,查看结果如图(4-3)所示:
第 37 页 共 87 页 37
五 思考与总结
这次实验我们做得时关于循环程序的实验:S=1+2*3+3*4+4*5+?+N(N+1),直到N*(N+1)项大于200为止。
本次实验我通过观察流程图来自己设计有关程序,这样使我对循环结构有了更深的了解,加深了我对乘法指令和加法指令的理解。掌握了循环结构程序设计的方法,知道如何对循环程序进行调试。在实验过程中也遇到了不少的困难,使实验无法继续进行下去,不过在老师的帮助下解决了困难,顺利完成了实验,使我受益匪浅。
第 38 页 共 87 页 38
实验七 子程序设计
一 实验目的
1.学习子程序的定义和调用方法 2.掌握子程序的结构
3.熟练掌握子程序的程序设计、编制及调用二 实验设备
TDN86/51或TDN86/88教学实验系统一台
三 实验内容及步骤 实验1
1 编写源代码:
DATA SEGMENT
ARY1 DW 3 DUP(?) SUM1 DW ?
ARY2 DW 3 DUP(?) SUM2 DW ? DATA ENDS
STACK SEGMENT STACK
SA DW 50 DUP(?) TOP EQU LENGTH SA STACK ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK MAIN PROC FAR START:
MOV AX,DATA ;数据段数据设置
MOV DS,AX ;将AX中的内容传送给DS MOV AX,STACK
MOV SS,AX ;将AX中的内容传送给SS MOV SP,TOP
LEA SI,ARY1 ;数组1首地址,入口参数 MOV CX,LENGTH ARY1 ;数组1长度,入口参数 CALL SUM ;调用求和子程序
第 39 页 共 87 页
39
LEA SI,ARY2 ;数组2首地址,入口参数 MOV CX,LENGTH ARY2 ;数组2长度,入口参数 CALL SUM ;调用求和子程序 RET ;无参数段内返回 MAIN ENDP
SUM PROC NEAR ;子程序 XOR AX,AX ;AX清0
L1:ADD AX,WORD PTR[SI] ;加数组元素 INC SI ;对SI进行加1 INC SI ;对SI进行加1 LOOP L1 ;结束L1
MOV WORD PTR[SI],AX ;数组和送入SUM MOV AH,4CH ;准备结束程序 INT 21H ;中断程序运行 RET ;无参数段内返回 SUM ENDP ;终止求和子程序 CODE ENDS END START
2 编译、连接、装载 3u2000 查看是否装载成功
4 E ****:0000,输入三个字数据(数组1的数据) 5 E ****:0008,输入三个字数据(数组2的数据) 6 运行程序
7查看结果,结果存放在****:0006(数组1的累加和)和****:000E单元(数组2的累加和)
实验2
1 编写源代码:
STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE START:MOV CX,001AH MOV BL,41H MOV AH,01H
第 40 页 共 87 页 40
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库微机原理与接口技术实验报告(3)在线全文阅读。
相关推荐: