汇编实验七子程序设计(共5页).doc
《汇编实验七子程序设计(共5页).doc》由会员分享,可在线阅读,更多相关《汇编实验七子程序设计(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实 验 报 告 学年 第 学期实 验 课 程汇编语言学 生 姓 名123实 验 项 目子程序设计学 院计算机科学技术实 验 性 质专业选修课 班 级 学 号实 验 地 点同 组 人 数1第 组实 验 日 期第 周 星期 第 节成 绩4环 境 参 数Dosbox-0.74Masm 5.0一、 实验目的及要求二、 实验原理、实验内容三、 实验仪器设备及材料四、 操作方法与实验步骤五、 实验数据记录及处理六、 实验结果分析及讨论一、实验目的: 1掌握子程序设计方法。2掌握调用程序与子程序间参数传递的几种方法。二、实验任务1编制一个子程序把一个十六位二进制数用十六进制形式在屏
2、幕上显示出来,采用堆栈方法传递这个二进制数,并用一个主程序验证它。源代码:DATA SEGMENTDATA ENDSSTACK SEGMENT STACKDB 256 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV DX,10100B ;对应十六进制为:1234HPUSH DX ;入栈CALL DISP;调用子程序ADD SP,2;平衡堆栈MOV AX,4C00HINT 21HDISPPROCPUSH BPMOV
3、BP,SP ;用bp指示数据地址PUSHFPUSH AXPUSH BXPUSH CXPUSH DX ;以上保护现场MOV BL,2;字节控制 循环两次MOV CL,4 ;移动4位 LOP:MOV DL,SS:BP+5SHR DL,CL CMP DL,0AH JCJ1ADDDL,7H J1: ADD DL,30H MOVAH,2 INT21H MOV DL,SS:BP+5ANDDL,B CMPDL,0AHJCJ2 ADDDL,7H J2: ADDDL,30H MOVAH,2 INT21H DEC BP DECBL JNZLOP POP DXPOP CXPOP BXPOP AXPOPFPOP BP
4、;恢复现场RETDISPENDPCODE ENDSEND START流程图:编译连接MS-DOS下运行:本实验是如何利用DEBUG进行调试的:用debug命令打开.exe程序,使用t命令执行,主要检查地址是否取对,尤其再用堆栈传递参数时,取参数时的偏移地址增量。说明用堆栈传送参数的过程及其具体方法:1、将数据存入dx中,在调用子程序前压入栈顶。 PUSH DX2、调用子程序,先将bp压入栈顶,再将sp值赋给bp。PUSH BP MOV BP,SP3、计算参数的偏移地址,取出数据并存入dl中。 MOV DL,SS:BP+52设有一个数组存放学生的成绩(0100),编制一个子程序统计059分,60
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验 子程序 设计
限制150内