微机原理与接口技术实验报告 - 图文 联系客服

发布时间 : 星期六 文章微机原理与接口技术实验报告 - 图文更新完毕开始阅读6a424db01a37f111f1855b32

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