下载此文档

06-第四章程序设计.pptx


文档分类:文学/艺术/军事/历史 | 页数:约45页 举报非法文档有奖
1/45
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/45 下载此文档
文档列表 文档介绍
第四章:MCS-51程序设计
计算机与通信工程学院
李耀明
一、汇编语言概述
1、指令系统
语句格式
[<标号>]:<操作码>[<操作数>];[<注释>]
指令编码长短:单字节,双字节,三字节
执行周期:一个机器周期占12个振荡周期,单周期指令,双周期,4周期
寻址方式:
指令中所规定的寻找操作地址的方式
立即、直接、寄存器、寄存器间接寻址、基址加变址、相对寻址、位寻址
指令分类:
数据传送、算术、逻辑、位操作、控制转移
2、程序设计的步骤
(1)分析问题,编制说明要解决问题的程序框图。
(2)确定数据结构、算法、工作单元、变量设定(与高级语言不同)
(3)根据所用的指令系统,按照已编制的程序框图用汇编语言编制出源程序。
(4)将编制出的程序在计算机上调试,直至实现预定的功能。
计算机与通信工程学院
二、程序设计分类
1、顺序程序:
执行时按顺序一条条地执行指令
2、分支程序:
当程序不再顺序执行,而向一个方向或多个方向转移时,叫分支程序。
3、循环程序:
对于需要反复的程序段,常采用循环办法,以缩短程序。
4、子程序及其调用程序
主程序使用子程序时,用调用指令(ACALL),子程序最后放一条RET指令。
计算机与通信工程学院
三、程序设计准则
结构清晰:便于分析
层次分明:便于阅读
语言简洁:便于分析
易于理解:便于阅读
计算机与通信工程学院
简单程序设计
简单程序又称顺序程序。计算机是按指令在存储器中存放的先后次序来顺序执行程序的。除非用特殊指令让它跳转,不然它会在PC控制下执行。
计算机与通信工程学院
例4-1两个8位无符号数相加
ORG 0000H
AJMP BEGIN
ORG 0030H
BEGIN:
MOV 40H,#01H
MOV 41H,#02H
LOOP:
MOV R0,#40H
MOV A,***@R0
INC R0
ADD A,***@R0
INC R0
MOV ***@R0,A
JMP LOOP
END
开始
R0←40H
A←(R0)
A送(42H)
(40H)+(41H)和送A
返回
图4-1 例1流程图
例:将加数和被加数分别送入40H、41H单元,加完后和送入42H单元
计算机与通信工程学院
例4-2将两个半字节数合并成一个单字节数
程序
ORG 0000H
AJMP start
ORG 0030H
START:
MOV sp,#60H
MOV 40h,#01h
MOV 41h,#02h
loop:
MOV R1,#40H
MOV A,***@R1
ANL A,#0FH ;取第一个半字节
SWAP A
INC R1
XCH A,***@R1 ;取第二字节
ANL A,#0FH ;取第二个半字节
ORL A,***@R1 ;拼字
INC R1
MOV ***@R1,A ;存放结果
AJMP $
END
执行完后如何不改变内存和寄存器的值?
开始
(40H)内容送A,屏蔽高位,交换高低位A←(R0)
A与(R1)或后送(42H)
取(41H)内容,屏蔽高位,送A
返回
图4-2 例2流程图
计算机与通信工程学院
分支程序设计
在处理实际事务中,只用简单程序设计的方法是不够的。因为大部分程序总包含有判断、比较等情况。
根据判断、比较的结果转向不同的分支
计算机与通信工程学院
例4-3:两个无符号数比较大小
设两个连续外部RAM单元ST1和ST2中存放不带符号的二进制数,找出其中的大数存入ST3单元中。
ST1 EQU 8040H
ORG 0000H
JMP START
ORG 0030H
START:
MOV DPTR,#ST1
MOV A,#12H
MOVX ***@DPTR,A
INC DPTR
MOV A,#34H
MOVX

06-第四章程序设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数45
  • 收藏数0 收藏
  • 顶次数0
  • 上传人露露二天
  • 文件大小300 KB
  • 时间2021-06-18