指令与汇编语言程序设计

指令与汇编语言程序设计

ID:40485745

大小:802.60 KB

页数:52页

时间:2019-08-03

指令与汇编语言程序设计_第1页
指令与汇编语言程序设计_第2页
指令与汇编语言程序设计_第3页
指令与汇编语言程序设计_第4页
指令与汇编语言程序设计_第5页
资源描述:

《指令与汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章指令与汇编语言 程序设计本章主要内容4、算术运算、逻辑运算和交换指令与程序设计1、程序设计的基本方法与顺序程序设计2、控制转移指令与循环程序、分支程序设计3、堆栈及其操作指令5、查表指令与查表程序设计一、程序设计的步骤1、分析问题,明确所要解决问题的要求,确定算法或解题思路2、画流程图起止框处理框判断框输入/输出框流程指向线3、编写源程序画流程图4、汇编和调试程序书写的两种格式:第一种是完整程序格式的形式,即在第二章介绍的程序一般结构。第二种就是子程序的形式。二、顺序程序设计 顺序程序设计:又叫直线程序,

2、它是按照指令的顺序依次执行的程序,它也是所有程序设计中最基本、最重要的程序。[例3-1]0~15共十六立即数送到内部RAM30H开始的单元中。本题题意非常清楚,就是将0送到内RAM30H单元,将1送到内RAM31H单元,以此类推。将立即数送到内部RAM单元有现成的指令,这是一个功能性数据处理,格式上可以写成子程序的形式,程序设计如下:START:MOV30H,#0;(30H)←#0MOV31H,#1;(31H)←#1…MOV3FH,#15;(3FH)←#15RET;返回一、循环程序的结构1、循环程序:主要是用来

3、实现功能相同、反复执行的操作。Y图3-2循环程序的两种结构N循环体循环修改循环初值退出循环N循环体循环修改循环初值退出循环循环控制循环控制Y循环程序一般包括四个部分:循环初值、循环体、循环修改和循环控制。循环初值:循环程序开始循环执行的初始条件,如循环的次数等,在循环程序的开始部分,只执行一次。循环体:是循环程序的核心,就是反复要完成的具体操作功能。循环修改:循环体执行一次后,再次执行之前,需要对有关参数进行修改,为下一轮循环做准备,和循环体一样,循环修改的程序内容也是反复多次执行的。循环控制:根据循环预先确定

4、的次数,或者循环过程中有关操作数的内容进行判断,控制循环的结束。2、加1和减1指令。(1)加1指令1)INCA;A←A+12)INCRn;Rn←Rn+13)INCdirect;(direct)←(direct)+14)INC@Ri;(Ri)←(Ri)+15)INCDPTR;DPTR←DPTR+1(2)减1指令1)DECA;A←A-12)DECRn;Rn←Rn-13)DECdirect;(direct)←(direct)-14)DEC@Ri;(Ri)←(Ri)-13、循环程序设计举例[例3-3]0~15共十六个立

5、即数送到内部RAM30H开始的单元中。MOVR0,#30HMOVA,#0MOV@R0,AMOVR0,#31HMOVA,#1MOV@R0,AMOVR0,#3FHMOVA,#15MOV@R0,AMOV30H,#0MOV31H,#1……MOV3FH,#15START:MOVR2,#16;循环次数MOVR0,#30H;指向第一个单元;循环初值MOVA,#0;送的第一个数AA:MOV@R0,A;循环体,完成数据传;送循环体循环修改INCA;循环修改INCR0;修改指向的单元DJNZR2,AA;循环次数减1,到0退;出循环

6、,循环控制RET;子程序返回0二、比较转移指令与循环程序设计1、比较转移指令(1)CJNEA,#data,rel;PC←PC+3,若A=data,程序顺序执行;若A﹥data,PC←PC+rel,程序转移,Cy=0;;若A﹤data,PC←PC+rel,程序转移,Cy=1;(2)CJNERn,#data,rel;PC←PC+3,若Rn=data,程序顺序执行;若Rn﹥data,PC←PC+rel,程序转移,Cy=0;;若Rn﹤data,PC←PC+rel,程序转移,Cy=1;(3)CJNE@Ri,#data,r

7、el;PC←PC+3,若=data,程序顺序执行;若(Ri)﹥data,PC←PC+rel,程序转移,Cy=0;;若(Ri)﹤data,PC←PC+rel,程序转移,Cy=1;(4)CJNEA,direct,rel;PC←PC+3,若A=(direct),程序顺序执行;;若A﹥(direct),PC←PC+rel,程序转移,Cy=0;;若A﹤(direct),PC←PC+rel,程序转移,Cy=1;2.比较转移指令应用举例例3-3程序用比较转移指令修改如下:START:MOVR0,#30H;指向第一个单元MOV

8、A,#0;送的第一个数AA:MOV@R0,A;循环体,完成数据传送INCA;修改送的数据INCR0;修改指向的单元CJNEA,#16,AA;根据操作数信息控;制循环循环控制RET;子程序返回也可以通过对R0中数据判断比较控制程序结束1.循环移位指令(1)循环左移指令RLA;三、循环移位指令与程序设计(2)循环右移指令RRA;(3)带进位位的循环左移指令RLCA;(4)带进位位的循环右移

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

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

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