资源描述:
《实验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,要