计原及汇编 汇编程序设计基本技术课件.ppt

计原及汇编 汇编程序设计基本技术课件.ppt

ID:57034226

大小:873.50 KB

页数:89页

时间:2020-07-27

计原及汇编 汇编程序设计基本技术课件.ppt_第1页
计原及汇编 汇编程序设计基本技术课件.ppt_第2页
计原及汇编 汇编程序设计基本技术课件.ppt_第3页
计原及汇编 汇编程序设计基本技术课件.ppt_第4页
计原及汇编 汇编程序设计基本技术课件.ppt_第5页
资源描述:

《计原及汇编 汇编程序设计基本技术课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9~13章汇编程序设计基本技术程序设计步骤1、分析问题,确定算法。2、编制程序流程。3、正确、合理使用存储器和寄存器。4、编写程序。5、调试程序。一、顺序程序结构指令1指令2指令n指令n+1:例1试编制一程序,计算下列公式的值,并存放在FUN存储单元 中。F=(10*(X+Y)-3*(Z-1))/2源程序:TITLEEXAMPLEPROGRAM;设置数据段DATASEGMANTVARXDW123HVARYDW456HVARZDW789HFUNDW?DATAENDS;设置堆栈段STACK1SEGMENTPARASTACKDW20HD

2、UP(0)STACK1ENDS;设置代码段COSEGSEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVAX,VARXADDAX,VARY;X+YMOVBX,AX;X+YSALAX,1;2*(X+Y)SALAX,1;4*(X+Y)ADDAX,BX;5*(X+Y)SALAX,1;10*(X+Y)MOVBX,VARZDECBX;Z-1MOVCX,BX;Z-1SALBX,1;2*(Z-1)ADDBX,CX;3*(Z-1)SUBAX,BX;10*(X+Y)-3*

3、(Z-1)SARAX,1;(10*(X+Y)-3*(Z-1))/2MOVFUN,AXMOVAH,4CHINT21H例2用查表的方法将一位十六进制数转换成它相应的ASCII码。DATASEGMENTTABLEDB30H,31H,32H,33H,34H,35HDB36H,37H,38H,39H,41H,42HDB43H,44H,45H,46HHEXDB4ASCIDB?DATAENDSSTACK1SEGMENTDW20HDUP(0)STACK1ENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1

4、START:MOVAX,DATA;设置DSMOVDS,AXLEABX,TABLE;XORAH,AHMOVAL,HEXADDBX,AXMOVAL,[BX]MOVASCI,ALMOVAH,4CHINT21HCOSEGENDSENDSTART改用基址寻址,代码段中与查表有关的六条指令可用下面指令实现:XORBX,BXMOVBL,HEXMOVAL,TABLE[BX]MOVASCI,AL类似这种查表,还可以使用换码指令XLAT:指令格式:XLAT表首址指令功能:AL<=((BX)+(AL))上述程序段可修改为:LEABX,TABLEMOVAL

5、,HEXXLATTABLEMOVASCI,AL二、分支程序设计条件满足?语句1语句2YN条件满足?语句YN条件满足?分支程序设计举例(1)比较/测试——分支结构(2)分支表(跳转表)结构二、分支程序设计程序如下:TESTDA1,01HJENEXTINCDA1NEXT:………测试DA1的第0位(DA1)0=0?DA1<=(DA1)+1YN(b)例3程序段流程试编制一程序段,把DA1字节单元中数据变为偶数。比较/测试——分支结构MOVAL,XCMPAL,0JGEL1MOVAL,0FFHJMPEXITL1:JEEXITMOVAL,1EXI

6、T:MOVY,AL求符号函数:-1X<0Y(X)=0X=01X>0比较/测试——分支结构例4试编制一程序,实现两个存储区之间的数据传送。::::::0000H0FFFFH源存储区目的存储区::::::0000H0FFFFH源存储区目的存储区::::::0000H源存储区目的存储区0FFFFH(a)(b)(c)两存储区之间的三种情况比较/测试——分支结构开始SI<=源存储区首址DI<=目的存储区首址CX<=传送数据字节数(SI)>(DI)?(CX)=0?形成末址:SI<=(SI)+(CX)-1DI<=(DI)+(CX)-1结束SI<=

7、(SI)-1DI<=(DI)-1<>OK2两存储区之间数据传送流程(DI)<=((SI))CX<=(CX)-1CX<=(CX)-1DI<=((SI))SI<=(SI)+1DI<=(DI)+1(CX)=0?NNYYOK3源程序如下:TITLEDATAMOVEDATASEGMENTORG$+40HDA0DB10HDUP(‘0123456789’)ORG$+40HDA1DWDA0+8;源存储区首址DA2DWDA0+3;目的存储首址COUNTDW0AH;传送数据字节数DATAENDSSTACK1SEGMENTPARASTACKDW20HDU

8、P(0)STACK1ENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATAMOVE:MOVAX,DATAMOVDS,AXMOVSI,DA1MOVDI,DA2MOVCX,COUNTCMPSI,DIJAOK2ADDS

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

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

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