当前位置:首页 > 微机原理与接口技术实验报告 - 图文
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
共分享92篇相关文档