《查表程序设计》PPT课件

《查表程序设计》PPT课件

ID:45481511

大小:423.00 KB

页数:39页

时间:2019-11-13

《查表程序设计》PPT课件_第1页
《查表程序设计》PPT课件_第2页
《查表程序设计》PPT课件_第3页
《查表程序设计》PPT课件_第4页
《查表程序设计》PPT课件_第5页
资源描述:

《《查表程序设计》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九课复习4.3.3查表程序设计4.3汇编语言实用程序设计4.3.8循环程序设计4.3.7分支转移程序设计复习一个源程序的四个要素子程序:形式、功能、入口参数、出口参数子程序的调用:调用过程示意图子程序调用及返回指令的执行过程子程序的现场保护和参数传递查表程序一个完整的源程序必备的四个要素:有ORG0000H,即源程序的机器码从ROM的0000H单元开始存放。通常源程序的存放要跳过中断向量区。实现方法:在0000H单元存放一条转移指令,转向中断向量区后的主程序的真实的入口地址,如START、MAIN等。有END,告知汇编程序,你

2、的源程序结束了。源程序的主程序框架一定是一个顺序执行的无限循环的程序,运行过程必须构成一个圈;子程序与主程序相对独立。4.3汇编语言实用程序设计MOV30H,#20MOV40H,#50HCLRALCALLABC按照规则包装成.ASMORG0000HLJMPMAINORG0030HMAIN:MOV30H,#20MOV40H,#50HCLRALCALLABCSJMP$ABC:MOVR3,#30H;?30HMOVR1,#40H;?40HCLRAL1:MOV@R1,AINCR1DJNZR3,L1RETEND4.3汇编语言实用程序设计LE

3、NGEQU10SUMEQU21HBLOCKEQU22HORG0000LJMPSTARTORG0030HSTART:CLRAMOVR7,#LENGMOVR0,#BLOCKLOOP:ADDA,@R0INCR0DJNZR7,LOOPMOVSUM,AEND复习EQU功能?有错吗?包装成子程序?SJMP$ENDLENGEQU10SUMEQU21HBLOCKEQU22HORG0000LJMPSTARTORG0030HSTART:CLRAMOVR7,#LENGMOVR0,#BLOCKLCALLLOOPSJMP$LOOP:ADDA,@R0INC

4、R0DJNZR7,LOOPMOVSUM,ARETEND首先是用DB、DW伪指令建表,把握表格中的数据的位置与x的关系。由x来表达y在程序存储器中的地址,然后用MOVC指令实现查表。 例如:求x平方时的表格结构。DB00H,01H,04H,09H,10HDB19H,24H,31H,40H,51H举例:自编例1、例2、例3及课本上的例4-5、例4-6、例4-7。4.3.3查表程序设计4.3汇编语言实用程序设计数据补偿、修正、计算、转换等各种功能,具有程序简单、执行速度快等优点。查表就是根据自变量x,在表格中寻找y,使y=f(x)。指

5、令“MOVCA,@A+DPTR”完成把A中的内容作为一个无符号数与DPTR中的内容相加,所得结果为某一程序存储单元的地址,然后把该地址单元中的内容送到累加器A中。指令“MOVCA,@A+PC”以PC作为基址寄存器,PC的内容和A的内容作为无符号数,相加后所得的数作为某一程序存储单元的地址,然后把该地址单元中的内容送到累加器A中。4.3汇编语言实用程序设计-查表程序设计指令系统中给用户提供了两条极为有用的查表指令:⑴MOVCA,@A+DPTR⑵MOVCA,@A+PC执行查表指令时,发出读程序存储器选通脉冲/PSEN。例4-5子程序

6、的功能为:根据累加器A中的数x(0~9之间)查x的平方表y,根据x的值查出相应的平方y。x和y均为单字节数。地址子程序YADDA,#01HY+2MOVCA,@A+PCY+3RETY+4DB00H,01H,04H,09H,10HDB19H,24H,31H,40H,51H第1条指令ADDA,#01H的作用是加上偏移量,可以根据A的内容查出X对应的平方。MOVCA,@A+PC的学习4.3汇编语言实用程序设计-查表程序设计TAB1:DB00H,01H,04H,09H,10HDB19H,24H,31H,40H,51H例1:求x的平方,x:

7、0~9特点:x、y均为一字节,y=f(x)在ROM中的地址是TAB1+xABC:MOVA,R0PUSHDPH;保存DPHPUSHDPL;保存DPLMOVDPTR,#TAB1MOVCA,@A+DPTRPOPDPL;恢复DPLPOPDPH;恢复DPHRETABC:MOVA,R0MOVDPTR,#TAB1MOVCA,@A+DPTRRET堆栈指令的使用4.3汇编语言实用程序设计-查表程序设计例2:求一个0~9的数是立方特点:x为一字节、y为两字节,y=f(x)在ROM中的地址是TAB1+2x及TAB1+2x+1入口参数:在R0中;出口参

8、数:在R2、R1中,高字节在R2中ABC:MOVA,R0RLAMOVB,AMOVDPTR,#TABMOVCA,@A+DPTRMOVR2,AMOVA,BINCAMOVCA,@A+DPTRMOVR1,ARETTAB:DW0,1,8,27,64DW125,216,34

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

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

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