新第4章80C51的汇编语言程序设计.ppt

新第4章80C51的汇编语言程序设计.ppt

ID:56374867

大小:633.00 KB

页数:36页

时间:2020-06-14

新第4章80C51的汇编语言程序设计.ppt_第1页
新第4章80C51的汇编语言程序设计.ppt_第2页
新第4章80C51的汇编语言程序设计.ppt_第3页
新第4章80C51的汇编语言程序设计.ppt_第4页
新第4章80C51的汇编语言程序设计.ppt_第5页
资源描述:

《新第4章80C51的汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第4章汇编语言程序设计程序编制的方法和技巧4.1基本程序结构4.2子程序设计4.32021/9/41单片机应用系统由硬件系统和应用程序构成汇编语言高级语言应用程序设计方法汇编语言,生成的目标程序占内存空间少、运行速度快,具有效率高、实时性强。高级语言,对系统的功能描述与实现简单,程序阅读、修改和移植方便,适合于编写复杂的程序。2021/9/424.1程序编制的方法和技巧4.1.1汇编语言程序设计的步骤分析问题,抽象出描述问题的数学模型。确定解决问题的算法或解题思想。分配存储空间和工作单元。绘制流程图编制程序。程序调试和程序优化。2021/9/43绘制流程图流程图符号2

2、021/9/44强化模块化观念使程序占用空间减少、结构清晰循环初值和结束条件,避免“死机”现象子程序的现场保护(注意栈平衡、寄存器内容)程序模块(主程序模块、各种子程序模块)模块化优点:分块设计、便于阅读、调试方便4.1.2编制程序的方法和技巧采用循环和子程序结构对中断子程序还有注意保护PSW的内容2021/9/454.1.3汇编语言的语句格式非数字字符开头,后跟字母、数字、“-”、“?”等不能用已定义的保留字(指令助记符、伪指令等)后跟英文冒号“:”标号(即符号地址)[标号:]指令助记符[操作数1,][操作数2,][操作数3,][;注释]指令助记符是指令功能的英文缩

3、写。2021/9/46数据:二进制(B)十进制(D或省略D)十六进制(H),注意A~F开头时要加“0”ASCII码,如‘A’,‘1245’符号:符号名、标号或“$”(PC的当前值)表达式:由运算符和数据构成操作数注释英文分号“;”开头4.1.3汇编语言的语句格式2021/9/47优先级运算符功能表达式及其结果示例高↓↓↓↓↓↓↓低·()括号4*(5+6)即44NOT、HIGH、LOW取反、取高字节、取低字节NOT55H即AAH;HIGH1234H即12H+、-正号、负号+5、-6*、/、MOD乘、除(取商)、取余数17/5即3;17MOD5即2+、-加、减5+4即9;

4、5-4=即1SHL、SHR左移、右移2SHL2即8;8SHR2即2AND、OR、XOR与、或、异或45HAND0FH即05H<、>、=、<>、<=、>=比较运算符MOVA,X>8;若X>8为真,则为MOVA,01H若X>8为假,则为MOVA,00H补充知识2021/9/484.2.1顺序结构程序设计4.2基本程序结构【例4-1】试编制双字节加法程序。题目要求:设被加数的高字节放在30H中,低字节放在31H中,加数的高字节放在32H,低字节放在33H中。加法结果的高字节放在34H中,低字节放在35H中(大端模式)。程序分析:由于80C51单片机的加法指令只能处理8位二进

5、制数,所以双字节加法程序的算法应首先从低字节开始相加,然后依次将次低字节和来自低字节相加的进位进行加法运算。2021/9/49CY=0取低字节相加保存低字节开始取高字节相加保存高字节结束ORG0040HSTART:CLRCMOVA,31HADDA,33HMOV35H,AMOVA,30HADDCA,32HMOV34H,ASJMP$END2021/9/410【例4-3】片内RAM的21H单元存放一个十进制数据十位的ASCII码,22H单元存放该数据个位的ASCII码。编写程序将该数据转换成压缩BCD码存放在20H单元。2021/9/411ORG0040HSTART:MOV

6、A,21H;取十位ASCII码ANLA,#0FH;保留低半字节SWAPA;移至高半字节MOV20H,A;存于20H单元MOVA,22H;取个位ASCII码ANLA,#0FH;保留低半字节ORL20H,A;合并到结果单元SJMP$END2021/9/4124.2.2分支结构程序设计在实际问题的编程处理中,通常会根据不同的条件进行判断,根据不同的判断结果,程序作出不同的相应处理,这种结构被称为分支。分支程序的设计主要依靠条件转移指令、比较转移指令和位转移指令来实现。2021/9/413条件成立?YN程序段1程序段2单分支结构该图使用条件转移指令来实现分支,当给出的条件成立

7、时,执行程序段1,否则执行程序段2。2021/9/414该图使用条件转移指令来实现分支,当给出的条件成立时,执行程序段A,否则执行程序段B。2021/9/415该图使用散转指令JMP来实现多分支转移,它首先将分支程序按序号的值来实现分支转移。2021/9/416【例4-6】编制计算符号函数y=SGN(x)的程序。y=设片内RAM的30H单元内有自变量x(-128≤x≤127)的值,编制程序求函数Y的值,并将其存入片内RAM的31H单元中。2021/9/4172021/9/418ORG1000HSTART:MOVA,30H;将X送入A中JZZERO;为

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

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

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