欢迎来到天天文库
浏览记录
ID:34110785
大小:971.49 KB
页数:75页
时间:2019-03-03
《第4章汇编语言程序设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章MCS-51汇编语言程序设计1第4章MCS-51汇编语言程序设计汇编语言是面向CPU硬件的程序设计语言。要熟练掌握MCS-51单片机应用技术,用户就必须熟练掌握MCS-51单片机的汇编语言程序设计技能,具有很好的“软/硬件结合”的设计基础。本章介绍单片机程序设计的基本知识及如何使用汇编语言来进行MCS-51单片机应用程序设计。24.1汇编语言程序设计概述4.1.1机器语言、汇编语言和高级语言用于程序设计的语言基本上可分为3种:机器码语言、汇编语言和高级语言。1.机器码语言▲用二进制代码表示的指令、数字和符号简称为机器码语言。(简称为机器语言)▲机器语言不易懂,
2、难记忆,易出错。例如,人们不易理解7425H究竟代表的是何含义。▲但是机器码语言是计算机CPU唯一能够“理解”并予以执行的语言!32.汇编语言▲英文助记符表示的指令称为符号语言或汇编语言▲将汇编语言程序转换成为二进制代码表示的机器语言程序称为汇编程序▲经汇编程序“汇编(翻译)”得到的机器语言程序称为目标程序,原来的汇编语言程序称为源程序。4汇编语言的特点:(1)面向具体CPU的语言。程序设计员须对具体CPU的硬件结构与体系有相当深入的了解。(2)助记符指令和机器指令一一对应,用汇编语言编写的程序效率高,占用存储空间小,运行速度快,用汇编语言能编写出最优化的程序。(3
3、)能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。(4)汇编语言和机器码语言都脱离不开具体机器的硬件,均是面向“机器”的语言,缺乏通用性。53.高级语言例如:常用的如BASIC、FORTRAN或C、C++、VB、VC等。▲高级语言是面向用户和算法的计算机语言,与计算机使用的CPU硬件无直接的关系。▲为了使用高级语言,软件公司开发了许多方便人们使用高级语言的高级语言编译/解释系统。最常用的就是微软公司开发的如BASIC、FORTRAN或C、VB、VC等软件编译/解释系统。这些语言软件都是商品软件,应用方便,功能强大。64、高级语
4、言的优/缺点:1、高级语言的通用性好,直观、易懂、易学,可读性好。2、语句功能强,不受具体机器(CPU)的限制,使用了许多数学公式和数学计算上的习惯用语,最适合应用于科学计算。3、需要配备专门的编译或解释软件才能工作。4、运行高级语言需要较多的程序空间,执行时间也较长。所以在很多需要直接控制硬件的应用场合,汇编语言仍是必不可缺的或必不可少的。所以学习、使用汇编语言进行单片机程序设计,是掌握MCS-51单片机技术的基本功之一。人们也可以使用C51、PL/M等语言来进行MCS-51单片机的程序设计或采用C51语言与汇编语言进行混合语言编程,但前提是必须具有相应的C51、
5、PL/M等语言的编译系统。74.2汇编语言语句的种类和格式在汇编语言的语句中,有两种基本语句类型:指令语句和伪指令语句1)指令语句:已在第3章介绍,如:MOVA,#25H等,每一条指令语句通过汇编都会产生至少一个字节的二进制代码——机器码。注意:指令语句是由CPU、MCU设计师规定的。(2)伪指令语句伪指令语句是为汇编服务的,目的是方便、准确的产生指令代码。伪指令语句并无机器码与之对应。注意:伪指令语句是由设计汇编程序的软件公司自己规定的,不同的汇编程序所支持的伪指令语句可能会略有不同。8MCS-51单片机的汇编语言的语句,其基本格式如下:(四分段格式)标号字段操作
6、码字段操作数字段注释字段例:以下是一段按四分段格式书写的汇编语言程序标号字段操作码字段操作数字段注释字段START:MOVA,#00H;A←00HMOVR1,#10H;R1←10HMOVR2,#03H;R2←03HLOOP:ADDA,R2;A←A+R2DJNZR1,LOOP;(R1-1)≠0则循环REP:SJMPREP9汇编语言语句书写规则:1、标号:●标号依需要而设置,代表语句所在存储地址的标志符号(符号地址)。●标号的长度≤8个字符,后随一个冒号“:”。一般放在被转移或分支的入口,作指令的符号地址。例如:LOOP:MOV@R1,A注意:1)标号后边必须跟以冒号“
7、:”2)由1~8个ASCII字符组成;3)同一标号在一个程序中只能定义一次4)不能使用汇编语言已经定义的符号作为标号。10汇编语言语句书写规则:2、语句:包含操作码字段和操作数字段!注意:语句书写时要合乎如下规则:1)操作码字段和操作数字段之间至少空一格;2)操作数字段(Oprand)之间以逗号“,”分隔;3)书写要合法。(如:INCA;MOVA,#25H;CJNEA,25H,LOOP;NOP)●操作码:例如:MOV是汇编语言指令中唯一不能空缺的部分。汇编程序就是根据这一字段来生成机器码。●操作数:例如:A,#00H通常有单操作数、双操作数、三操作数和无操作数4
此文档下载收益归作者所有