第4章 指令系统及汇编语言程序设计

第4章 指令系统及汇编语言程序设计

ID:248737

大小:6.60 MB

页数:133页

时间:2017-07-14

第4章 指令系统及汇编语言程序设计_第1页
第4章 指令系统及汇编语言程序设计_第2页
第4章 指令系统及汇编语言程序设计_第3页
第4章 指令系统及汇编语言程序设计_第4页
第4章 指令系统及汇编语言程序设计_第5页
资源描述:

《第4章 指令系统及汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章指令系统及汇编语言程序设计任课教师:刘忠国山东大学课程中心网站:http://course.sdu.edu.cn/G2S/stcmcu.cc宏晶官方网站:http://www.stcmcu.com/stc15系列单片机器件手册等keilμvision软件下载及指导手册(Help→μvisionHelp)http://www.keil.com/何宾STC单片机原理及应用>http://www.gpnewtech.com/study/stc/KeilSoftware–Cx51编译器用户手册:Cx51编译器--对传统和扩展的8051

2、微处理器的优化的C编译器和库参考2第四章指令系统及汇编语言程序设计本章学习目标了解助记符、指令格式掌握单片机寻址方式掌握单片机指令系统掌握单片机汇编语言程序设计及开发环境参考资料:keilμVision软件的帮助文件3*第四章指令系统及汇编语言程序设计语言4.1编程语言4.2指令格式及其分类4.3寻址方式4.4数据传送类指令4.5逻辑操作类指令4.6算术运算类指令4.7位操作指令4.8控制类转移指令4.9汇编语言程序设计4.10汇编语言程序调试4.11利用ISP工具将程序下载到单片机中验证程序4*§4.9汇编语言程序设计4.9.1伪

3、指令(Pseudo-Instruction)用户将编辑好的汇编语言源程序通过专门的软件(称为汇编程序)汇编成相应的机器语言程序时,需要有一些专门的说明性语句。例如,指定目标程序或数据存放的起始地址、给一些指定的标号赋值、在内存中予留工作单元、表示源程序结束等指令。指令并不产生对应CPU操作的机器码,故称伪指令,也叫指示性语句(Directives);相对应的,可产生实质性操作的指令叫指令性语句(Instructions),指令性语句表示CPU要进行的某种操作。例,MOVA,#30H,表示将立即数30H送到寄存器A中。5*4.9.1伪

4、指令1、起始地址设置伪指令ORG(ORIGIN)格式为:ORGxxxxHORG是起始地址设置伪指令的操作码,xxxx是四位十六进制地址。该指令表明其后紧跟的指令性语句的机器码放在以xxxxH为起始地址的单元中。例:ORG0100HDELAY:MOVR0,#30H6*1、起始地址设置伪指令ORG一般,在整个程序的起始处放置一条“ORG0000H”伪指令,表明下面开始的指令性语句从0000H开始存放。后面有一定独立性的程序段也可以用这条指令指定程序段存放的起始地址。例如:ORG0000HSTART:LJMPMAINMOVA,#00H……

5、ORG0100HDELAY:MOVR0,#30H……7*0000H000000100001Haddr15~80002Haddr7~00100H011110000101H00110000…………0003H外部中断0中服入口地址1、起始地址设置伪指令ORGORG伪指令的作用单片机复位时,一个重要操作是将程序计数器PC清零。在复位结束后,系统从程序存储器存放的第一个地址单元0000H开始取指令。汇编时就需要告诉汇编程序将后面的语句经汇编后放在地址为0000H开始的区域;因此,整个程序起始地址用“ORG0000H”伪指令说明。后面延时子程序

6、DELAY在指令“ORG0100H”说明作用下,经汇编后被放置在地址为0100H开始的区域。在例子中,如果没有“ORG0100H”这条语句,延时程序DALAY也会得到汇编,汇编后的机器码紧接着前面的程序顺序存放。8*4.9.1伪指令2、数据定义伪指令功能:定义一个数据存储区,其类型由数据定义伪指令指定,可以给存储区赋初值,也可以仅仅给变量分配存储单元,而不赋予特定的值。一般格式:[标号:]数据定义伪指令操作数[,操作数…][;注释]方括号中的内容为可选项。伪指令后面的操作数可以不止一个。如有多个操作数,互相之间用逗号隔开。9*例如:

7、SEG:DB23H;定义一个字节标号SEG可以如下方式引用:MOVR0,#SEGMOVA,@R0标号SEG不能以变量方式被引用:MOVA,SEG2、数据定义伪指令常用的数据定义伪指令有DB和DW:(1)定义字节DB(DefineByte)[标号:]DB〈项或项表〉其中项或项表:指一个字节、数或数字串,或以引号括起来的ASCII码字符串(一个字符用ASCII码表示,相当于一个字节)。该指令的功能是把项或项表的数值存入从标号开始的连续单元中,每个操作数存放时占1个字节,多个操作数时,按排列顺序首先从低地址存放。10*2、数据定义伪指令常

8、用的数据定义伪指令有DB和DW:(1)定义字节DB(DefineByte)[标号:]DB〈项或项表〉其中项或项表:指一个字节、数或数字串,或以引号括起来的ASCII码字符串(一个字符用ASCII码表示,相当于一个字节)。MSG:DB'

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

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

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