文档详情

微机原理与接口技术-六章-程序设计.ppt

发布:2025-04-07约5.75千字共10页下载文档
文本预览下载声明

汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下:过程名 PROC[NEAR/FAR]…… ;过程体…… 过程名 ENDPNEAR属性(段内近调用)FAR属性(段间远调用)提供必要的子程序说明信息。处理好子程序与主程序间的参数传递问题。子程序应安排在代码段的主程序之外,最好放在主程序执行终止后的位置,也可以放在主程序开始执行之前的位置。子程序中对堆栈的压入和弹出操作要成对使用,保持堆栈的平衡。子程序要利用过程定义伪指令声明。一、子程序编写注意事项二、举例例:codesegmentmainprocfar......callsubr1......retmainendpsubr1procnear......retsubr1endpcodeends主程序段子程序段codesegmentmainprocfar......callsubr1......retsubr1procnear......retsubr1endpmainendpcodeends子程序段主程序段例:MYSEGMENTASSUMECS:MYMAINPROCFARSTART:PUSHDSSUBAX,AXPUSHAXMOVCL,04CALLDP5MOVBL,CLCALLDP5ADDAL,BLRETMAINENDPDP5PROCNEARMOVAL,CLSALAL,1SALAL,1ADDAL,CLMOVCL,ALRETDP5ENDPMYENDSENDSTARTAL=?BL=?CL=?例:累加数组中的元素。主程序datasegmentarydw1,2,3,4,5,6,7,8,9,10countdw10sumdw?dataendscodesegmentmainprocfarassumecs:code,ds:datastart:pushdssubax,axpushaxmovax,datamovds,axcallproaddretmainendpproaddprocnearpushaxpushcxpushsileasi,arymovcx,[count]xorax,axnext::addax,[si]addsi,2loopnextmov[sum],axpopsipopcxpopaxretproaddendpcodeendsend

显示全部
相似文档