资源描述:
《汇编语言程序设计实验报告三(子程序设计实验)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言程序设计实验报告三(子程序设计实验)一、实验目的1、掌握主程序与子程序之间的调用关系及其调用方法。2、掌握子程序调用过程中近程调用与远程调用的区别。3、熟练掌握码型变换的程序。二、实验内容1、从键盘输入二位非压缩BCD数,存入AX寄存器中,编程实现将其转换为二进制数,并在屏幕上显示。要求码型转换程序用远程子程序编写,字符显示用近程子程序编写。数据可循环输入,遇‘00’结束。三、实验准备1、预习子程序设计的基本方法,根据实验内容要求编写出实验用程序。2、熟悉键盘输入和字符显示的程序段的编制。四、实验步骤1、编辑、汇编源程序,生成可执行文件。2、执行程序,检查输入、输出结果,看是否正确。如
2、不正确,用DEBUG检查,修改源程序,再汇编、运行,直到程序正确为止。3、用DEBUG的T命令或P命令跟踪程序的执行,观察在远程和近程调用过程中,堆栈的变化情况。五、实验报告要求1、分析近程调用和远程调用的主要区别。用DEBUG命令观察执行过程有何不同。2、分析实验结果及所遇到的问题的解决方法。六、程序流程图开始TRAN程序标准序开始读入十进制数据放AX中AXAXAND0F0FH是00?YBLALN调用转换子程序结束AL左移3位回车、换行BL左移1位于ALAL+BL主程序流程图ALAL+AHRET转换子程序TRAN流程图一、程序清单STASEGMENTSTACK’STACK’DB100DUP(
3、0)STAENDSGSAGSEGMENTPARA‘CODE’ASSUMECS:CSAGMAINPROCFARSTRAT:PUSHDSSUBAX,AXPUSHAXREV:MOVAH,1INT21HMOVBL,ALINT21HMOVAH,ALMOVAL,BLCMPAX,3030HJEENDTRANCALLNEARPTRTRANCALLFARPTRCONMOVAL,0DHCALLFARPTRDISPMOVAL,0AHCALLFARPTRDISPMOVAL,0AHCALLFARPTRDISPJMPREVENDTRAN:RETMAINENDPTRANPROCNEARANDAX,0F0FHMOVBL,AL
4、MOVBL,ALMOVCL,3SHLAL,CLMOVCL,1SHLBL,CLADDAL,BLADDAL,AHRETTRANENDPCSAGENDSCSBGSEGMENTPARA’CODE’ASSUMECS:CSBGCONPROCFARPUSHAXMOVCL,4SHRAL,CLADDAL,30HCMPAL,39HJBECON2ADDAL,7CON2:PUSHAXMOVAL,0DHCALLFARPTRDISPMOVAL,OAHCALLFARPTRDISPPOPAXCALLFARPTRDISPPOPAXANDAL,0FHADDAL,30HCMPAL,39HJBECON1ADDAL,7CON1:CAL
5、LFARPTRDISPRETCONEDNPDISPPROCFARPUSHBXMOVBX,0MOVAH,14INT10HPOPBXRETDISPENDPCSBGENDSENDSTART