实验四子程序设计一、实验目的(1)掌握汇编语言子程序设计方法。 (2)掌握主程序与子程序之间的调用关系及调用方法。(3)掌握通过寄存器传送参数的方法。二、实验环境(1)硬件环境:计算机系统windows;(2)软件环境:装有MASM、DEBUG、LINK、等应用程序。三、实验内容(方法步骤):编程实现:十进制到十六进制数转换程序。程序要求:从键盘取得一个十进制数,然后把该数以十六进制形式在屏幕上显示出来。四、实验说明(1)键盘输入的十进制数(ASCII),要将它转换成二进制存放。Þ子程序:DECIBIN(2)二进制转换成十六进制数并显示Þ子程序:BINIHEX(3)为避免屏幕上的重叠,必须有回车和换行功能。Þ子程序:CRLF用三个子程序联合实现题目要求Þ联合由主程序达到。将BX寄存器作为过程之间传送转换数据的“交通员”。五、实验步骤(1) 编辑、汇编源程序,生成相应的可执行文件(.EXE)(2) 检查程序执行的结果是否正确。六、流程图主程序流程图如下图:子程序CRLF流程图如下图:子程序DECIBIN流程图如下图:子程序BINIHEX流程图如下图:七、源程序datasegmentdataendscodesegmentassumecs:code,ds:datamain: callDECIBIN callCRLF callBINIHEX movah,4Ch int21hDECIBINPROCMOVBX,0NEWCHAR:MOVAH,1INT21HSUBAL,30HJLEXITCBWXCHGAX,BXMOVCX,10DMULCXXCHGAX,BXADDBX,AXJMPNEWCHAREXIT:EARMOVAH,02HMOVDL,0AHINT21HMOVAH,02HMOVDL,EARSTART:MOVCH,4NOTATE:MOVCL,4ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJLPRINTITADDAL,7HPRINTIT:MOVDL,ALMOVAH,HJNZNOTATERETBINIHEXENDPcodeendsendmain八、问题思考(1) 当输入“#”时,退出主程序,如何修改程序?(2)说明用寄存器传送参数的过程及其具体方法,各子程序的应用。(3)实验结果及所遇到问题,并说明解决的方法。九、实验小结
汇编 子程序设计 来自淘豆网m.daumloan.com转载请标明出处.