购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 单片机汇编语言概述

单片机汇编语言是最早的单片机程序开发语言。和计算机上的汇编语言一样,单片机汇编语言具有执行速度快、代码短小精悍、指令的执行周期确定等优点。但是,指令复杂、缺乏通用性、不便于程序的移植等缺点也限制了它的推广和使用。下面主要介绍单片机汇编语言的基本情况。

3.1.1 单片机汇编语言简介

单片机汇编语言就是单片机汇编指令的集合,它采用了助记符的形式来描述指令。单片机汇编语言其实不是底层的开发语言。因此,对于计算机或者单片机来说,它能够识别的指令和数据均是二进制的,一般称为机器语言。机器语言对于开发者来说是很难使用的。因此,人们用一些英文单词和字符作为助记符来描述每一条二进制指令的功能,这样就便于理解和记忆这些计算机的指令。这便是我们所看到的汇编语言。在早期的计算机开发和单片机开发中,汇编语言起到了支配性作用。

单片机汇编语言相比于后期推出的单片机C语言,具有如下一些优势:

●程序代码精炼,执行速度快。

●每条指令的执行时间确定,特别适合于对时序要求比较高的场合。

●占用内存单元和CPU资源比较少。

●和硬件结构和资源密切相关,对于理解单片机的运行和组成很有帮助。

单片机汇编语言虽然对机器语言进行了封装,但还是不够友好,仍然属于一种面向机器的低级语言。单片机汇编语言的如下缺点限制了它的推广使用。

●指令和具体的硬件密切相关,缺乏通用性。

●采用助记符描述的指令还是不够清晰,代码比较难懂。

●使用汇编语言编写程序时,必须熟悉单片机的指令系统、寻址方式、寄存器的设置和使用方法,以及系统的硬件资源等。分散了开发人员用于程序结构和功能上的精力。

目前,随着电子技术的发展,汇编语言的使用范围越来越小,逐渐被C51语言代替,但是学习汇编语言对理解8051的结构及指令是很有帮助的。特别是单片机汇编语言指令的执行速度很快,这一点单片机C51语言是无法比法的。因此,我们并不能够完全丢弃单片机汇编语言,在有些时候还需要两者结合来使用。

3.1.2 简单的单片机汇编语言程序

本节首先使用一个简单的程序,让读者知道什么是单片机汇编语言程序。单片机汇编语言程序和计算机的汇编语言非常相似。对于该程序中的指令和程序格式,在后面的学习中将详细分析。

【范例3-1】 示例代码3-1是一个简单的单片机汇编语言程序。

示例代码3-1

【运行结果】使用Keil μVision3编译程序可以完成该程序的编译和仿真操作。该程序运行时,将计算两个16位二进制无符号数加法并保存在单片机片内RAM的30H、31H和32H单元。

【代码解析】由于16位二进制无符号数在内存中占有两个单元,在该程序中假定已经分别存于寄存器R1、R0,R3、R2中。其中,R1和R3分别为高字节,R0和R2分别为低字节。两个数相加后的和存放在30H、31H、32H单元中。

从第一个单片机汇编语言程序可以看出,该程序与计算机的汇编语言在指令和语法上都保持一致。这便给我们的学习带来了方便。 51+/PM38hCJhEbMbToOf5LiCcIacYkRtSkzdqw3BgHcswx6zIr/TkcRg8q3t2TYd

点击中间区域
呼出菜单
上一章
目录
下一章
×