C51汇编语言程序设计.ppt
《C51汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《C51汇编语言程序设计.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 80C51汇编语言汇编语言程序设计程序设计4.1 4.1 概述概述汇编语言程序设计的步骤汇编语言程序设计的步骤 分析问题分析问题 确定算法确定算法 画出程序流程图画出程序流程图 分配内存单元分配内存单元 编写汇编语言源程序编写汇编语言源程序 汇编语言程序的调试汇编语言程序的调试4.1 4.1 概述概述汇编语言编程的注意事项汇编语言编程的注意事项 编写程序时应尽量使程序简短及缩短运行时间;编写程序时应尽量使程序简短及缩短运行时间;应尽量采用循环结构和子程序;应尽量采用循环结构和子程序;尽量少用无条件转移指令;尽量少用无条件转移指令;在设计程序时,还要考虑程序与数据的存放地在设计程序时
2、,还要考虑程序与数据的存放地 址;址;对于通用子程序,要考虑保护现场;对于通用子程序,要考虑保护现场;对于中断处理,除了保护处理程序中用到的寄存对于中断处理,除了保护处理程序中用到的寄存 器外,还要保护程序状态字;器外,还要保护程序状态字;充分利用累加器。充分利用累加器。4.2 4.2 基本结构程序设计基本结构程序设计 程序设计的基本结构有:顺序结构、分支结构和循环结构。程序设计的基本结构有:顺序结构、分支结构和循环结构。4.2.1 顺序结构程序顺序结构程序例例4-2 将将30H单元的单元的2个个BCD码拆开并分别存入到码拆开并分别存入到31H和和32H 单元中。单元中。解:方法一:先把解:方
3、法一:先把30H中低中低4位位BCD码交换出来,存入码交换出来,存入31H 中,再把高中,再把高4位位BCD码交换到低码交换到低4位存入位存入32H中。中。4.2 4.2 基本结构程序设计基本结构程序设计方法一:方法一:ORG 0000H LJMP MAIN ORG 0030HMAIN:MOV R0,#32H MOV R0,#00H MOV A,30H XCHD A,R0 SWAP A MOV 31H,A SJMP$END 见见42 a方法二:方法二:ORG 0000H LJMP START ORG 0030HSTART:MOV A,30H ANL A,#0FH MOV 31H,A MOV A
4、,30H ANL A,#0F0H SWAP A MOV 32H,A SJMP$END 见见 42 b4.2 4.2 基本结构程序设计基本结构程序设计4.2.2 分支结构分支结构例例-两个单字节无符号数比较大小。两个单字节无符号数比较大小。设两个单字节无符号数分别存在内部设两个单字节无符号数分别存在内部 RAM 30H 和和31H 单元中,找出其中的大单元中,找出其中的大 数存入数存入32H 单元中。单元中。解:两个单字节无符号数比较大小的方解:两个单字节无符号数比较大小的方法通常是做减法,然后根据是否产生借位法通常是做减法,然后根据是否产生借位判断大小。还有一点要注意:累加器判断大小。还有一点
5、要注意:累加器 在在减法运算前装的是被减数,减法运算后装减法运算前装的是被减数,减法运算后装的是差。思路框图如图的是差。思路框图如图-所示。所示。4.2 4.2 基本结构程序设计基本结构程序设计 ORG 0000H LJMP START ORG 0030HSTART:MOV R0,#30H MOV A,R0 INC R0 CLR C SUBB A,R0 JC BIG2 ADD A,R0 SJMP NEXT BIG2:MOV A,R0NEXT:INC R0 MOV R0,A SJMP$END4.2 4.2 基本结构程序设计基本结构程序设计例:例:4-5编程实现函数编程实现函数,已知已知(30H)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 汇编语言 程序设计
限制150内