实用程序及其设计方法.ppt

实用程序及其设计方法.ppt

ID:52120348

大小:336.34 KB

页数:10页

时间:2020-04-01

实用程序及其设计方法.ppt_第1页
实用程序及其设计方法.ppt_第2页
实用程序及其设计方法.ppt_第3页
实用程序及其设计方法.ppt_第4页
实用程序及其设计方法.ppt_第5页
资源描述:

《实用程序及其设计方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章实用程序及其设计方法4.1N种分支的转移程序N—JMP功能:根据入口条件转向N个程序段入口:(R3)=入口条件(0,1,2,3)出口:(R0)=RAM的低8位地址(R1)=RAM的高8位地址出口:执行不同的子程序后,累加器中为读取到的数N-JMP:MOVA,R3MOVDPTR,#JMPTBLMOVCA,@A+DPTRJMP@A+DPTRJMPTBL:DBMEM0-JMPTBLDBMEM1-JMPTBLDBMEM2-JMPTBLDBMEM3-JMPTBLMEM0:MOVA,@R0;从内部RAM读数RETMEM1:MOVXA,@R0;从外部256B的

2、RAM读数RETMEM2:MOVDPL,R0;从外部64KB的RAM读数MOVDPH,R1MOVXA,@DPTRRETMEM3:MOVA,R1;从外部4KB的RAM读数ANLA,#0FHANLP2,#11110000BORLP2,AMOVXA,@R0RET应用实例:在有的计算机系统中采用了不同类型的打印机,它们使用不同大小的RAM空间作数据缓冲区,同时可能各自的速度及其它条件也不尽相同。4.2128种分支转移程序JMP-128功能:根据入口条件转移到128个目的地址入口:(R3)=转移目的地址的序号00H~7FH出口:转移到相应子程序入口JMP-128

3、:MOVA,R3RLAMOVDPTR,#JMPTABJMP@A+DPTRJMPTAB:AJMPROUT00AJMPROUT01…...128个子程序首址……AJMPROUT7F4.3256种分支转移程序JMP-256功能:根据入口条件转移到256个目的地址入口:(R3)=转移目的地址的程序(00H~FFH)出口:(SP)=当前栈顶内容为转移子程序的入口地址(高位)JMP256:MOVA,R3MOVDPTR,#TBLCLRCRLCAJNCLOW128INCDPHLOW128:MOVSAVE,AMOVCA,@A+DPTRPUSHACCMOVA,SAVEIN

4、CAMOVCA,@A+DPTRPUSHACCRETTBL:DWROUT04.4大于256的分支转移程序JMP-N功能:根据入口条件转向N个分之程序,N≤(最大的存贮容量-散转表首址)/3入口:(R7R6)=子程序序号(0~N)JMP_N:MOVDPTR,#TABMOVA,R7MOVB,#3MULABADDA,DPHMOVDPH,AMOVA,R6MOVB,#3MULABXCHA,BADDA,DPHXCHA,BJMP@A+DPTRTAB:LJMPROUT04.25通过堆栈传递参数的方法之一常用传递参数的方法:1)把参数装载到指定的工作寄存器(R0~R7)或

5、累加器A中;2)把参数放在存储器中,通过地址寄存器R0、R1或DPTR传递参数;3)通过堆栈传递参数。利用通过寄存器或片内RAM传递参数这种方法编出调用SUBRT子程序的主程序。解:应该是:MAIN:MOVR0,#30H;传送RAM数据区的起始地址MOVR7,#0AH;传送RAM数据区的长度ACALLSUBRT;调用清零子程序SJMP$;结束SUBRT:MOVA,#00H;清零子程序LOOP:MOV@R0,AINCR0DJNZR7,LOOPRET通过寄存器或片内RAM传递参数子程序:MATRIX3:DECSPDECSP;跳过PCPOPAMOVB,#NM

6、ULABPOP02HADDA,R2ADDA,#4MOVCA,@A+PCPUSHAINCSPINCSPRETTAB:调用程序:PUSHIPUSHJACALLMATRIX3POPA4个字节本章到此结束,谢谢您的光临!

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

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

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