片机原理及应用-汇编语言程序设计

片机原理及应用-汇编语言程序设计

ID:40656271

大小:506.10 KB

页数:31页

时间:2019-08-05

片机原理及应用-汇编语言程序设计_第1页
片机原理及应用-汇编语言程序设计_第2页
片机原理及应用-汇编语言程序设计_第3页
片机原理及应用-汇编语言程序设计_第4页
片机原理及应用-汇编语言程序设计_第5页
资源描述:

《片机原理及应用-汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、汇编语言程序设计-程序设计概述一、汇编语言的特点(1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。(2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。(3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。(4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用。二、汇编语言程序设计的步骤与特

2、点(1)分析任务(2)建立数学模型,确定算法(3)制定程序流程图(4)编写源程序(5)源程序的汇编与调试(6)编写程序说明文件汇编语言程序设计-程序设计概述汇编程序控制译码指令1.ORG(ORiGin)汇编起始地址命令[<标号:>]ORG<地址>例:ORG0000HORG0023H2.END(ENDofassembly)汇编终止命令[<标号:>]END[<表达式>]3.EQU(EQUate)赋值命令<字符名称>EQU<赋值项>例:TTY:EQU1080HLOOP1:EQUTTY汇编语言程序设计-常用伪指令4.DB(DefineByt

3、e)定义字节命令[<标号:>]DB<8位数表>例:HERE:DB80H5.DW(DefineWord)定义数据字命令[<标号:>]DW<16位数表>例:HERE:DW1080H6.DS(DefineStonage)定义存储区命令[<标号:>]DW<16位数表>例:HERE:DS0100H7.BIT位定义命令<字符名称>BIT<位地址>例:HERE:BIT7FH汇编语言程序设计-常用伪指令汇编语言源程序由以下两种指令构成汇编语句(指令语句)伪指令(指示性语句)汇编语句的格式:标号:操作码操作数;注释数据表示形式:二进制(B)、十六进制

4、(H)、十进制(D或省略)、ASCII码(以单引号标识)3.伪指令:控制汇编用的特殊指令,这些指令不属于指令系统,不产生机器代码。汇编语言程序设计-汇编语言的规范[例]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、54H和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。MOVR0,#52H;被加数的低字节地址MOVR1,#55H;加数的低字节地址MOVA,@R0ADDA,@R1;低字节相加MOV@R0,A;存低字节相加结果DECR0

5、DECR1MOVA,@R0ADDCA,@R1;中间字节带进位相加MOV@R0,A;存中间字节相加结果汇编语言程序设计-顺序结构程序DECR0DECR1MOVA,@R0ADDCA,@R1;高字节带进位相加MOV@R0,A;存高字节相加结果MOV00H,C;进位送00H位保存汇编语言程序设计-顺序结构程序分支程序可根据要求无条件或条件地改变程序执行流向。编写分支程序主要在于正确使用转移指令。分支程序有:单分支结构、双分支结构、多分支结构(散转)1单分支结构[例5-2]变量X存放在VAR单元内,函数值Y存放在FUNC单元中,试按下式的要求

6、给Y赋值。汇编语言程序设计-分支结构程序汇编语言程序设计-分支结构程序参考程序:ORG0000HVARDATA30HFUNCDATA31HMOVA,VAR;A←XJZDONE;若X=0,则转DONEJNBACC.7,POSI;若X>0,则转POSIMOVA,#0FFH;若X<0,则Y=-1LJMPDONEPOSI:MOVA,#01H;若X>0,则Y=1DONE:MOVFUNC,A;存函数值SJMP$END汇编语言程序设计-分支结构程序参考程序:ORG0000HVAR:DATA30HFUNC:DATA31HMOVA,VAR;A←XJZ

7、DONE;若X=0,则转DONEMOVR0,#0FFH;先设X<0,R0=FFHJNBACC.7,NEG;若X<0,则转NEGMOVR0,#01H;若X>0,R0=1NEG:MOVA,#01H;若X>0,则Y=1DONE:MOVFUNC,A;存函数值SJMP$END汇编语言程序设计-分支结构程序例:根据R7的内容,转至对应的分支程序。设R7的内容为0~N,对应的处理程序地址分别为P0~P7START:MOVDPTR,#TABMOVA,R7ADDA,R7;R7×2AMOVR3,A;暂存R3MOVCA,@A+DPTR;取高位地址XCH

8、A,R3INCAMOVCA,@A+DPTR;取低位地址MOVDPL,AMOVDPH,R3;转移地址送入DPTRCLRAJMP@A+DPTRTAB:DWP0DWP1…DWPNP0高位P0低位TABP1高位P1低位TAB+2汇编语言程序设

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

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

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