第四章 汇编语言程序设计.ppt
《第四章 汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《第四章 汇编语言程序设计.ppt(43页珍藏版)》请在麦多课文档分享上搜索。
1、第四章 汇编语言程序设计,循环程序,简单程序,查表程序,子程序,分支程序,程序设计实例引入,实例 假设一个班有50个人, 共有3门选修课: 计算机算法 服装CAD设计 德语 请找出: 同时选了三门课的同学;,问题的解决,第一步如何在计算机中表示选修某门课的所有同学?,选修这门人数,学生的学号,这个过程实际上是设计数据结构的问题,问题的解决,第二步设计思路:找出同时选了三门课的同学,这个过程实际上是设计算法的过程,既构建模型。,重复该过程,第三步:设计流程,几点启示,整体构思; 构建整体流程框图; 结构合理,流程清晰,简单明了; 局部模块化;,为什么要用流程图?,符合人进行逻辑思考的习惯 计算机
2、从根本上来说,没有任何逻辑性,所以,你必须告诉它,先做什么,后做什么,遇到什么情况又该做什么,等等 流程图设计本身是一个逐步求精的过程,最终将任务划分为若干能由机器指令实现的小模块,4.1 程序设计过程,题意分析 画出流程图 分配内存及端口 编制源程序 仿真、调试程序 固化程序,2、编程技巧,程序功能模块化尽量采用循环结构和子程序少用无条件转移指令多采用累加器来传递参数注意现场保护,即压入堆栈,4.2 顺序程序设计,例:求多项式 a2-b 解:设a存放在R2中,b存放在R3中,结果存放在R6和R7中。,程序如下:MOV A, R2MOV B, AMUL ABCLR CSUBB A, R3 ;带
3、进位减MOV R7,A :保存低8位MOV A, B SUBB A,#00H ;高八位减进位MOV R6,A END,4.3 分支程序设计,根据不同的条件转向不同的处理程序 控制转移指令 AJMP、LJMP、SJMP 、JMPJZ、JNZ、CJNE、DJNZ 位转移指令JC、JNC、JB、JNB、JBC,举例;累加器A内有一个16进制ASCII字符,要求转换成一个16进制数存放于A。,ASCII字符转换成16进制数规则: 数字09 :只需减30H 字母AF :减30H,再减7,ASCH: CLR CSUBB A, #30CJNE A, #10, $+3JC AH10SUBB A, #07 AH
4、10: RET,散转程序多分支程序,散转程序是指通过修改某个参数后,程序可以有三个以上的流向,多用于键盘程序。 常用的指令是JMP A+DPTR,DPTR,+,A,PC,A中内容为8位无符号数,16位地址数,程序清单如下: JUMP1: MOV DPTR,JPTAB1 ;跳转表首送数据指针MOV A,R7ADD A,R7 ;R72A (修正变址值) JNC NOAD ;判有否进位INC DPH ;有进位则加到高字节地址 NOAD: JMP A+DPTR ;转向形成的散转地址人口 JPTAB1: AJMP OPR0 ;直接转移地址表AJMP OPR1. AJMP OPRn,例: 根据R7的内容,
5、转向各自对应的操作程序 (R7= 0,转入OPR0;R7= 1,转入OPR1R7= n,转入OPRn),4.4 循环程序设计,循环程序的结构置循环初值循环体修改控制变量循环终止控制,循环程序举例,例:设在外部RAM中有一个ASCII字符串,它的首地址是在DPTR中,字符串以0结束。现要求用89c51串行口把该字符串发送出去。在串行口已经初始化的条件下,该流程图可用以下框图表示:,TI:串口发送中断请求标志。每发送完串行数据,硬件自动将置。CPU响应中断后,须由软件清0,流程图,结束,程序:SOUT: MOVX A,DPTRJNZ SOT1RETSOT1: JNB TI,SOT1CLR TIMO
6、V SBUF,AINC DPTRSJMP SOUT,TI:串口发送中断请求标志。每发送完串行数据,硬件自动将 置。CPU响应中断后,须由软件清0,例:200名学生参加考试,成绩放在8031的外部RAM的一个连续存储单元,95100分颁发A级证书,9094分颁发B级证书,编一程序,统计获A、B级证书的人数。将结果存入内部RAM的两个单元。,ORG 0030HEG XDATA 1000HGA DATA 20HGB DATA 21HMOV GA,#00MOV GB,#00 MOV DPTR,#EGMOV R2,#200 LOOP:MOVX A,DPTRCJNE A,#95, LOOP1,LOOP1:
7、 JNC NEXT1CJNE A,#90,LOOP2 LOOP2: JC NEXTINC GBSJMP NEXT NEXT1: INC GA NEXT: INC DPTRDJNZ R2,LOOPSJMP $END,4.5 查表程序,表格是事先存放在ROM中的,一般为一串有序的常数,例如平方表、字型码表等。 表格可通过伪指令DB来确定。 通过查表指令MOVC A,A+DPTRMOVC A,A+PC来实现。,用DB、DW建立表格 首地址送DPTR 关键字送A 查表:MOVC A,A+DPTR,用查表法计算平方(一)ORG 0000HMOV DPTR,#TABLE ;表首地址送DPTRMOV A,#
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 汇编 语言程序设计 PPT
