"单片机汇编语言程序设计"
单片机汇编语言程序设计是单片机编程的核心内容,涉及到汇编语言的基本概念、汇编过程、伪指令、汇编指令等知识点。本文将详细讲解单片机汇编语言程序设计的相关知识点。
4.1 概述
单片机汇编语言程序实际上就是单片机的所支持的能完成指定功能的指令系列。构成汇编语言程序的是汇编语句。在MCS-51系列单片机汇编语言中,汇编语句一般分为两种:指令性语句(即汇编指令)和指示性语句(即伪指令)。指令性语句在汇编后成为单片机执行的指令码,而指示性语句并不能产生可执行的指令码,它只是在汇编时通知汇编程序如何工作。
4.1.1 汇编的概念
在单片机中,汇编是将单片机的汇编语言助记符指令(汇编程序)翻译成单片机能识别执行的二进制机器指令(目标程序)。目前汇编一般有两种方法:手工汇编和机器汇编。手工汇编是用人工查表的方式将汇编程序翻译为目标程序。汇编程序是一种翻译程序,利用汇编指令与机器码指令的一一对应的关系,将源程序翻译成目标程序。
4.1.2 汇编程序
汇编语言程序转换成机器语言的过程称为汇编过程。能实现汇编语言到机器语言的转换的程序称为汇编程序。汇编时汇编过程可以由汇编程序完成,也可以由人工完成。因此,汇编可以分为:手工汇编和机器汇编。
手工汇编就是根据指令表,将源程序由汇编指令逐条翻译成机器指令,并把这些机器指令代码以字节为单元从起始地址依次排列成目标程序的过程。手工汇编一般分两步进行:第一步:确定各条指令(第一字节)的地址并翻译出各条指令的机器码。第二步:将第一步未处理的标号进行代替,求出标号所代表的具体地址或地址偏移量,从而形成最终机器代码。
4.2 伪指令
伪指令是单片机中的指示性指令,它主要是汇编时告诉汇编程序,如何汇编源程序的指令。伪指令不能被汇编成机器代码,也不能被机器执行完成某种操作,因此称为伪指令。
4.2.1 起始地址伪指令
ORG指令格式:ORG addr16
指令功能:用于规定目标程序段或数据块的在程序存储器中的起始地址,需放置在程序段或数据块的开始处。
例如:ORG 3000H
START: MOV A, #30H
…
4.2.2 汇编结束伪指令
END指令格式:END或END 标号
指令功能:汇编时通知汇编程序,对源程序的汇编到此结束。一个程序中只出现一次,在程序的最后出现。
4.2.3 赋值伪指令
EQU指令格式:标识符 EQU 数值或汇编符号
指令功能:汇编时告诉汇编程序,将汇编语句操作数的值赋予本语句的标识符。
例如:DATA EQU 29H
MOV A, DATA
…
4.2.4 定义字节伪指令
DB指令格式:[标号:] DB 字节数据或字节数据表
指令功能:汇编时告诉汇编程序,从指定的地址单元开始,定义若干字节存储单元,
在单片机汇编语言程序设计中,汇编语言是一种低级语言,它直接控制单片机的硬件资源,能够完成指定的功能。但是,汇编语言也存在一些缺点,如开发效率低、代码难以维护等。因此,在实际应用中,我们需要根据具体情况选择合适的编程语言和开发工具。
单片机汇编语言程序设计是单片机编程的核心内容,涉及到汇编语言的基本概念、汇编过程、伪指令、汇编指令等知识点。只有深入理解这些知识点,才能更好地开发和应用单片机系统。
评论0
最新资源