河北工业大学单片机课第4章 汇编语言程序设计

上传人:101****457 文档编号:51437750 上传时间:2018-08-14 格式:PPT 页数:79 大小:798.50KB
返回 下载 相关 举报
河北工业大学单片机课第4章 汇编语言程序设计_第1页
第1页 / 共79页
河北工业大学单片机课第4章 汇编语言程序设计_第2页
第2页 / 共79页
河北工业大学单片机课第4章 汇编语言程序设计_第3页
第3页 / 共79页
河北工业大学单片机课第4章 汇编语言程序设计_第4页
第4页 / 共79页
河北工业大学单片机课第4章 汇编语言程序设计_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《河北工业大学单片机课第4章 汇编语言程序设计》由会员分享,可在线阅读,更多相关《河北工业大学单片机课第4章 汇编语言程序设计(79页珍藏版)》请在金锄头文库上搜索。

1、第四章第四章 汇编语言程序设计汇编语言程序设计教学目标:教学目标:本章内容是本章内容是软件编程的软件编程的关键,地位重要。关键,地位重要。 程序结构(顺序、分支、循环、子程序);程序结构(顺序、分支、循环、子程序); 应用实例;应用实例; 熟练掌握程序设计的思路方法和技巧;熟练掌握程序设计的思路方法和技巧; 要求掌握典型算法;要求掌握典型算法; 找到分析问题和解决问题的着眼点;找到分析问题和解决问题的着眼点; 学会抓住不同问题的规律性;学会抓住不同问题的规律性; 举一反三,独立思考,有创意,有新意,独到。举一反三,独立思考,有创意,有新意,独到。 一、分清可执行指令和非执行指令及其功能一、分清

2、可执行指令和非执行指令及其功能二、将高级语言程序设计方法迁移到汇编语言程序设计中来二、将高级语言程序设计方法迁移到汇编语言程序设计中来三、特别注意汇编语言是面向机器的,三、特别注意汇编语言是面向机器的, 要记住要记住 CPUCPU的资源;的资源; 存储器结构与寻址方式;存储器结构与寻址方式; I/OI/O口、定时口、定时/ /计数器、中断系统等关键的参数;计数器、中断系统等关键的参数; 寄存器间接寻址中指针的选择和使用技巧。寄存器间接寻址中指针的选择和使用技巧。四、从宏观上看,四、从宏观上看,MCS-51MCS-51汇编语言程序的整体结构汇编语言程序的整体结构从微观上看,微机中各组成部分是如何

3、通过程序联系起来。从微观上看,微机中各组成部分是如何通过程序联系起来。 汇编语言程序设计的要点:汇编语言程序设计的要点:4.14.1 汇编语言程序设计基础汇编语言程序设计基础4.24.2 MCS-51MCS-51 单片机汇编语言程序设计单片机汇编语言程序设计第四章第四章 汇编语言程序设计汇编语言程序设计4.1.1 4.1.1 汇编语言与机器语言汇编语言与机器语言4.1.2 4.1.2 汇编语言的格式汇编语言的格式4.1.3 4.1.3 伪指令伪指令4.1.4 4.1.4 汇编语言源程序的汇编汇编语言源程序的汇编4.1.5 4.1.5 汇编语言程序设计的一般步骤汇编语言程序设计的一般步骤4.1

4、4.1 汇编语言程序设计基础汇编语言程序设计基础4.2.1 4.2.1 简单程序设计简单程序设计4.2.2 4.2.2 分支程序设计分支程序设计 4.2.3 4.2.3 循环程序设计循环程序设计4.2.4 4.2.4 查表程序设计查表程序设计4.2.5 4.2.5 散转程序设散转程序设4.2.6 4.2.6 子程序设计子程序设计4.2.7 4.2.7 运算程序设计运算程序设计4.2 MCS-51 4.2 MCS-51 单片机汇编语言程序设计单片机汇编语言程序设计 机器语言机器语言 计算机唯一能够识别和执行的语言,面向机器,二进制。计算机唯一能够识别和执行的语言,面向机器,二进制。 汇编语言汇编

5、语言 “ “符号语言符号语言” ”, ,用指令助记符代表机器语言指令,面向机器用指令助记符代表机器语言指令,面向机器 。 要经过汇编。要经过汇编。低级语言适合开发实时控制程序低级语言适合开发实时控制程序 高级语言高级语言 面向算法、过程、对象,类似自然语言,可移植性好,须面向算法、过程、对象,类似自然语言,可移植性好,须 经解释或翻译后才能被执行。经解释或翻译后才能被执行。4.1.1 4.1.1 汇编语言与机器语言汇编语言与机器语言4.1.2 4.1.2 汇编语言的格式汇编语言的格式标号段标号段 : LABELLABEL操作码段操作码段 OPCODEOPCODE操作数段操作数段 OPRANDO

6、PRAND;注释段;注释段 COMMENTCOMMENT指令格式:指令格式: 伪指令格式:伪指令格式:名字名字 定义符定义符 参数,参数,参数;注释,参数;注释 或或 标号:标号: 定义符定义符 项表项表 ;注释;注释1 1、标号段、标号段标号段位于语句的开头,指明标号所在指令的标号段位于语句的开头,指明标号所在指令的 首地址,标号又称为首地址,标号又称为标号地址或符号地址标号地址或符号地址,是一个是一个 可选项,可选项,只有需要时才设置。只有需要时才设置。 绝对不允许把指令的绝对不允许把指令的保留字保留字、寄存器号及伪指、寄存器号及伪指 令字符作为语句的标号;令字符作为语句的标号; 标号在同

7、一程序单位中只能出现一次。标号在同一程序单位中只能出现一次。 2 2、 操作码段操作码段 操作码段可以是操作码段可以是可执行指令的助记符可执行指令的助记符,操作码,操作码 段用于指示计算机进行何种操作,因此,是任何一段用于指示计算机进行何种操作,因此,是任何一 条语句中的条语句中的必选项必选项,汇编语言根据这一字段生成目,汇编语言根据这一字段生成目 标代码。标代码。 操作码段也可以是伪指令的助记符,对汇编程操作码段也可以是伪指令的助记符,对汇编程 序下命令,在汇编时起作用。序下命令,在汇编时起作用。LOOP: MOV A,R0LOOP: MOV A,R0 DJNZ R2,LOOP DJNZ R

8、2,LOOP3 3、操作数段、操作数段 操作数段用于存放指令的操作数或操作数地址操作数段用于存放指令的操作数或操作数地址 , , 操作数的个数操作数的个数 因指令的不同而不同,通常有三种情况:因指令的不同而不同,通常有三种情况:无操作数无操作数 RETRET单操作数单操作数 JC LOOPJC LOOP双操作数双操作数 MOV A , BMOV A , B可以采用字母或数字等多种表示形式可以采用字母或数字等多种表示形式: :(1) (1) 操作数是立即数操作数是立即数, ,可用二进制、十进制和十六进制形式可用二进制、十进制和十六进制形式(2) (2) 用寄存器和特殊功能寄存器名用寄存器和特殊功

9、能寄存器名 MOV A,PSWMOV A,PSW(3) (3) 标号地址标号地址 DJNZ R7,DJNZ R7,NEXT NEXT (4) (4) 带加、减运算符的表达式带加、减运算符的表达式 ,例:,例:MOV A,MOV A,#100-1#100-14 4、 注释段:注释段:注释指令或程序的含义,便于阅读程序、维护程序。注释指令或程序的含义,便于阅读程序、维护程序。 必须用必须用“ “;” ”隔开,续行时,也必须以隔开,续行时,也必须以“ “;” ”开头开头 。 常数:常数: 01010101B01010101B;12D12D,1212;0F1H0F1H,59H59H 67Q67Q; A

10、 A , a a 操作数:操作数: A A,B B,DPTRDPTR 表达式表达式 movmov A,#(12H-03H) A,#(12H-03H)4.1.44.1.4 汇编语言源程序的汇编汇编语言源程序的汇编汇编可分成两种:汇编可分成两种:人工汇编人工汇编机器汇编机器汇编机器汇编是用机器自动把汇编语言源程序翻译成可以运行的目机器汇编是用机器自动把汇编语言源程序翻译成可以运行的目 标代码程序,即二进制程序的过程,它是一种用机器来代替人脑的标代码程序,即二进制程序的过程,它是一种用机器来代替人脑的 汇编,完成这一汇编过程的软件称为汇编,完成这一汇编过程的软件称为“ “汇编程序汇编程序” ”。汇编

11、机器语言目标程序机器语言目标程序汇编语言源程序汇编语言源程序汇编程序汇编程序汇编机器语言目标程序机器语言目标程序汇编语言源程序汇编语言源程序人工查指令机器码表人工查指令机器码表4 41 15 5 汇编语言程序设计的一般步骤汇编语言程序设计的一般步骤 程序设计的方法程序设计的方法 程序设计的步骤程序设计的步骤程序设计的方法程序设计的方法 结构化设计结构化设计 模块化设计模块化设计 开发方法开发方法 自底向上开发自底向上开发 先底层开发先底层开发 自顶向下开发自顶向下开发 先顶层开发先顶层开发 混合方法混合方法底底顶顶程序设计的步骤程序设计的步骤 分析课题,确定算法和思路分析课题,确定算法和思路

12、根据算法和思路画出根据算法和思路画出流程图流程图 根据流程图编写程序根据流程图编写程序 上机调试,排除错误上机调试,排除错误流程图图例流程图图例 起止框起止框 处理框处理框 判断框判断框 连线连线开开 始始结结 束束X XX+1X+1 Y Y Y-1 Y-1F5?F5?Y YNN程序设计步骤流程图程序设计步骤流程图 4.1.3 4.1.3 伪指令伪指令 定义:定义:仅向汇编程序发出的,并仅由汇编程序在汇仅向汇编程序发出的,并仅由汇编程序在汇 编过程中识别和执行的一种汇编控制命令,它本身在编过程中识别和执行的一种汇编控制命令,它本身在 目标程序中不产生机器码。目标程序中不产生机器码。 汇编起始伪

13、指令:汇编起始伪指令:ORGORG 汇编结束伪指令:汇编结束伪指令:ENDEND 定义字节伪指令:定义字节伪指令:DBDB 定义字伪指令:定义字伪指令: DWDW 定义位伪指令:定义位伪指令: BITBIT 赋值伪指令:赋值伪指令: EQUEQU DATADATA汇编起始伪指令汇编起始伪指令 格式:格式: ORG 功能:功能:指定汇编源程序编译成机器语言程序指定汇编源程序编译成机器语言程序 的起始地址的起始地址 例如:例如: ORG 0000HORG 0000HLJMP 0100H LJMP 0100HORG 0100H ORG 0100HStart: MOV A,#5AH Start: MOV A,#5AHSJMP $ SJMP $END END程序中可以有多程序中可以有多 条条ORGORG语句,语句, 但定义的起始地但定义的起始地 址既不要交叉,址既不要交叉, 也不要重叠。也不要重叠。必须从小地址向必须从小地址向 大地址分配程序大地址分配程序 所占空间。所占空间。汇编结束伪指令汇编结束伪指令 格式:格式: END END 起始地址起始地址 功能:停止汇编功能:停止汇编 示例:示例:ORG 0000HORG 0000Hljmpljmp 0100H 0100HORG 0100H

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号