实验6 子程序设计实验

实验6 子程序设计实验

ID:43505372

大小:95.51 KB

页数:10页

时间:2019-10-09

实验6 子程序设计实验_第1页
实验6 子程序设计实验_第2页
实验6 子程序设计实验_第3页
实验6 子程序设计实验_第4页
实验6 子程序设计实验_第5页
资源描述:

《实验6 子程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证■综合□设计□创新实验日期:2010-12-20实验成绩:实验6子程序实验一.实验目的1.掌握主程序与子程序之间的调用关系及调用方法;2.掌握子程序调用过程中近程调用与远程调用的区别;3.掌握通过堆栈转送参数的方法。4.掌握多模块程序设计方法二.实验内容1.将BUF开始的10个单元中的二进制数转换成两位十六进制数的ASCII码,在屏幕上显示出来。要求码型转换通过子程序HEXAC实现,在转换过程中,通过子程序DISP实现显示。源程序如下:DATASSEGMENTBUFDB00000111B,0010000

2、1B,00100010B,00000011B,00000101B,10000010B,10010011B,00100100B,11100010B,01010010BCANDB$-BUF;定义常量CANDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASMAINPROCFAR;主程序块START:MOVAX,DATASMOVDS,AXMOVCL,10LEASI,BUFLOOP1:;调用子程序语句callHEXACcallDISPDECCANJNZLOOP1EXIT:MOVAH,4CHINT21HMAINENDPHEXACPRO

3、CNEAR;二进制转换成十六进制子程序MOVBL,[SI]INCSIRETHEXACENDPDISPPROCNEAR;显示子程序MOVCL,4MOVCH,2MOVE:;移位语句ROLBL,CLMOVDL,BLANDDL,0FHADDDL,30HCMPDL,'9'JBEPRINTADDDL,07HPRINT:MOVAH,02H;显示语句INT21HDECCHJNZMOVEMOVDL,''MOVAH,02HINT21HRETDISPENDPCODESENDSENDSTART2.编写一个主程序,从键盘接收若干个字符,然后用远调用的方法,调用子程序统计字符串中字符’b

4、’的个数.子程序的参数是字符串的首地址TABLE,字符串长度N及字符”b”.子程序返回字符"b”的个数.参数传送采用堆栈实现.主程序在子程序返回后,显示字符”b”及其个数(设为一位十六进制数)。源程序如下:DATASEGMENTSTR1DB0ah,0dh,'PLEASEINPUTYOURSTRING:$'STR2DB0ah,0dh,'THENUMBEROFbis:$'TABLEDB50,?,50DUP(?),'$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,STR1

5、;显示STR1MOVAH,9INT21HLEADX,TABLEMOVAH,0AH;输入字符串INT21HLEASI,TABLEMOVCL,[SI+1]MOVCH,0;CX中为字符串长度INCSIINCSI;SI指向串首址TABLEMOVAL,'b'MOVAH,0;AX中为待查字符PUSHSIPUSHCXPUSHAX;参数送堆栈CALLCHECKPOPAX;统计个数在AL中MOVCL,ALLEADX,STR2;显示结果MOVAH,9INT21HMOVDL,CLANDDL,0FHCMPDL,9JBECANADDDL,7CAN:ADDDL,30HMOVAH,2INT

6、21H;显示统计个数EXIT:MOVAH,4CH;退出INT21HCODEENDSSCODESEGMENT;子程序部分ASSUMECS:SCODECHECKPROCFARPUSHBPMOVBP,SPMOVSI,[BP+10]MOVCX,[BP+8]MOVAX,[BP+6]XORAH,AHAGAIN:CMPAL,[SI]JNECAN1INCAHCAN1:INCSILOOPAGAINMOVAL,AHMOV[BP+10],AXPOPBPRET4CHECKENDPSCODEENDSENDSTART3.请编写一个程序来实现简单的程序菜单显示。(采用多模块程序设计方法)显

7、示一个菜单要求用户从下表中选择:(1)HEXACGAME      (对应-->程序1)(2)CHARSTATISTICSPROGRAM    (对应-->程序2)(3)PRESS“ESC”TOQUIT用户作出选择1~3时,显示输出要执行操作的名字,如“Yourselectionis1,theprogramwillexecuteHEXACNUMBERGAME!”然后转向相应的程序去执行,执行结束前进行退出的判断,显示一个提示信息“willyoucontinueprogramreally?(Y:N)”要求用户从键盘键入字符,若是“Y”键,则继续程序的执行,若是“

8、N”键,则返回到菜单。若用户选择3,要

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。