微机原理汇编语言程序设计(I)

微机原理汇编语言程序设计(I)

ID:40448124

大小:204.10 KB

页数:42页

时间:2019-08-02

微机原理汇编语言程序设计(I)_第1页
微机原理汇编语言程序设计(I)_第2页
微机原理汇编语言程序设计(I)_第3页
微机原理汇编语言程序设计(I)_第4页
微机原理汇编语言程序设计(I)_第5页
资源描述:

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

1、微机原理及应用MCS-51单片机第四章汇编语言程序设计程序设计语言简介程序设计的步骤和方法汇编语言程序设计分支程序用cjne实现三分支用jmp@A+DPTR实现多分支循环程序子程序及其调用程序设计举例机器语言计算机唯一能够识别和执行的语言汇编语言“符号语言”,用指令助记符代表机器语言指令高级语言面向算法、过程、对象,类似自然语言,可移植性好,须经解释或翻译后才能被执行程序设计语言简介汇编机器语言目标程序汇编语言源程序程序设计的步骤和方法程序设计的步骤程序设计的方法常用伪指令汇编语言格式程序设计的步骤分析课题,确定算法和思路根据算法和思路画出流

2、程图根据流程图编写程序上机调试,排除错误流程图图例起止框处理框判断框连线开始结束XX+1YY-1F>5?YN程序设计的方法结构化设计模块化设计开发方法自底向上开发先底层开发自顶向下开发先顶层开发混合方法常用伪指令定义:仅向汇编程序发出的,并仅由汇编程序在汇编程序中识别和执行的一种汇编控制命令,它本身在目标程序中不产生机器码。汇编起始伪指令:ORG汇编结束伪指令:END定义字节伪指令:DB定义字伪指令:DW定义位伪指令:BIT赋值伪指令:EQU汇编起始伪指令格式:ORG<起始地址>功能:指定汇编源程序编译成机器语言程序的起始地址例如:ORG

3、0000Hljmp0100HORG0100HStart:movA,#5Ahsjmp$END汇编结束伪指令格式:END[起始地址]功能:停止汇编示例:ORG0000Hljmp0100HORG0100HStart:movA,#5Ahsjmp$ENDmovA,#0A5h定义字节伪指令格式:<标号:>DB<项或项表>功能:把项或项表的数值存入从标号开始的连续单元,其中项或项表可以是一个字节、数或以引号括起来的字符串。ORG1000HDat:DB11h,22h,’A’,”BCD”END定义字伪指令格式:<标号:>DW<项或项表>功能:把项或项表的数值存

4、入从标号开始的连续单元,其中项或项表是一个字(两字节)。ORG1000HDat:DW1122h,3344hEND定义位伪指令格式:<符号>BIT<位地址>功能:定义位变量地址UBIT20H.0VBIT20H.1WBIT20H.2XBIT20H.3YBIT20H.4ZBIT20H.5QBIT20H.6赋值伪指令格式:<符号>EQU<变量值>功能:定义符号变量值XEQU05HYEQU06H汇编语言格式指令格式:标号:助记符参数,参数;注释伪指令格式:名字定义符参数,…,参数;注释参数类型常数:01010101B;12D,12;0F1H,59H67

5、Q;‘A’,‘a’操作数:A,B,DPTR表达式movA,#(12H-03H)用cjne实现三分支cjneR0,#0,MP1movR1,#0sjmpMP3MP1:movA,R0jnbACC.7,MP2movR1,#0FFhsjmpMP3MP2:movR1,#01hMP3:sjmp$y=开始结束y0y-1y+1x=0?x<0?YYNNR0xR1y用jmp@A+DPTR实现多分支KeyB5:movDPTR,#JMPTBLclrCsubbA,#0AhrlAJMP@A+DPTRJMPTBL:ajmpAAAajmpBBBajmpCCCajmp

6、DDD循环程序循环程序结构单循环程序例1:多字节求和例2:内部数据区清零多重循环程序例3:50ms延时程序循环程序结构循环初始化:循环控制变量的初始化、数据变量的初始化循环工作部分:循环主体,重复执行的计算循环控制部分:循环变量的修改、终止控制例1:多字节求和ORG0000HSUM:movR3,#0movR4,#0movR0,#50HmovR2,#5Loop:movA,R4addA,@R0movR4,AincR0clrAaddcA,R3movR3,AdjnzR2,Loopsjmp$END例2:内部数据区清零ORG0000HZero:movR0

7、,#30HmovR7,#10movA,#00HLoop:mov@R0,AincR0djnzR7,Loopsjmp$END例3:50ms延时程序Delay:movR7,#200Del1:movR6,#123nopDel2:djnzR6,Del2djnzR7,Del1sjmp$;1us;1us;1us;2us;2us子程序及其调用子程序调用与返回指令子程序设计方法子程序的调用过程与子程序嵌套调用过程中的参数传递通过寄存器传递通过堆栈传递通过数据指针(DPTR)传递子程序调用与返回指令绝对调用指令acalladdr11;(PC)(PC)+2,(S

8、P)(SP)+1((SP))(PC0~7),(SP)(SP)+1,((SP))(PC8~15),(PC0~10)addr11,(PC11~15)不变lca

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

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

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