频道栏目
读书频道 > 系统 > 其他综合 > 深入理解8051单片机系统
2.2 8051汇编编程简介
2015-12-03 13:10:36     我来说两句
收藏   我要投稿

本文所属图书 > 深入理解8051单片机系统

本书详细介绍了8051单片机的各种功能。主要内容包括8051微控制器、8051汇编语言编程、跳转指令、循环指令、调用指令、I O端口编程、8051寻址方式、算术逻辑指令与程序、8051 C语音编程、8051硬件接线、8051定时  立即去当当网订购

本节讨论汇编语言格式以及与汇编语言编程相关的常用术语。

CPU只能操作二进制数,且操作速度快。而对于人来说,如果使用0和1进行编程,不但会觉得枯燥,而且速度会很慢。由0和1组成的程序叫做机器语言(machine language)。早期的计算机编程中,程序员就使用机器语言来编程,尽管后来十六进制系统已作为一种更有效的方法来表示二进制数字,但人使用机器代码编程依旧非常麻烦。最终,为机器代码指令提供助记符的汇编语言诞生了,因其能加快编程速度且不易出错,得到了快速发展。助记符这个概念被广泛用于计算机科学以及工程学中,意指相对容易记忆的代码和缩写。汇编语言程序必须先由一个叫做汇编器的程序将其转换为机器代码,计算机方能使用。汇编语言也称为低级语言,因为它直接对CPU的内部结构进行操作。如果想使用汇编语言编程,就必须先知道CPU中所有的寄存器以及每个寄存器的大小和相关的其他信息。

如今,我们能使用多种编程语言进行编程,例如BASIC、Pascal、C、C++、Java等,这些语言叫做高级语言(high-level language),因为程序员并不需要知道CPU的内部细节。汇编器用于将汇编语言翻译成机器代码(有时也称操作代码为目标代码或操作码),相反,高级语言被一个编译器程序翻译成机器代码。例如,C语言编写的程序必须使用C语言编译器将程序翻译成机器语言。现在看看8051汇编语言的格式并使用8051汇编器创建可执行程序。

汇编语言结构

汇编语言程序由一连串的汇编指令组成。一条汇编指令由助记符和可选的一个或两个操作数组成。操作数就是即将被操作的数据,助记符是给CPU的指令,它告知CPU如何对数据进行操作。

汇编语言程序(见程序2-1)由一系列的声明或者行组成,即要么是诸如ADD和MOV之类的汇编语言指令,要么是叫做指令的语句(也称伪指令)。指令(instruction)告诉CPU做什么,而指示符(directive也称为伪指令)则提供指示给汇编器。如以上程序中,MOV和ADD指令是给CPU的命令,而ORG和END是给汇编器的指令。ORG通知汇编器将操作数放在存储单元0中,而END则告诉汇编器源代码结束的位置。也就是说,以上两个指令中一个是程序的开始,另一个则是程序的结束。

一条汇编指令由4个字段组成:[标签:] 助记符 [操作数] [;注释]


    

源文件结束方括号代表里面的字段是可选的,不是每条指令都必须包含。注意,不能将方括号写入程序中。对于如上格式,需要注意的是:

1.标签字段允许程序以名字索引该行代码。

标签字段不能超过一定数量的字符,检查你的汇编器是否满足该需求。

2.汇编语言助记符(指令)字段和操作数字段共同完成程序的操作,从而实现程序的功能。汇编语句如:ADD A,B
MOV A,#67其中,ADD和MOV就是助记符,即产生操作码的部分,而“A、B”和“A、#67”就是操作数。除了可以使用助记符和操作数之外,还可以使用汇编器的伪指令,或者指示符(directive)。记住,这些指示符不产生任何机器代码(操作码),而只供汇编器使用,这与翻译成机器代码(操作码)给CPU执行的指令不同。程序2-1中,命令符ORG(原始的)和END就是指令符的例子(一些8051汇编器使用.ORG和.END)。检查你的汇编器是否满足该需求。有关伪指令的更多内容在2.5节中讨论。

3.注释字段必须以分号指示符“;”开头。注释可以在行的末尾,或者独占一行,汇编器会忽视注释,但注释对于程序员来说它们必不可少。尽管注释可选,但建议多使用它们对程序进行描述,从而增加程序的可读性,也方便程序员记忆自己写的内容。


4.注意程序2-1中标签字段中的标签“HERE”。指令的任何标签引用后面必须跟冒号“:”。SJMP(短转移指令)指令中,8051被告知停在此处无限循环。如果你的系统本身带有监控程序,则需要删除该指令。下节探讨如何创建可执行程序。

复习题

1.伪指令的作用是什么?

2.(    )由汇编器翻译成机器代码,而(    )不是。

3.判断题。汇编语言是高级语言。

4.以下哪条指令会产生操作码?

(a)ADD A,R2;(b)MOV A,#12;(c)ORG 2000H;

(d)SJMP HERE。

5.伪指令也叫做(  )。

6.判断题。汇编指令不能被CPU本身使用,它只是汇编器的一个向导。

7.在复习题4中,哪条是汇编指令?

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.1.3 ADD指令
下一篇:2.3 汇编并运行8051程序
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站