第四章-汇编语言程序设计(DOC)
———————————————————————————————— 作者: ———————————————————————————————— 日期:
?
第四章 汇编语言程序设计
本章的汇编语言程序设计的主要内容有:汇编语言程序设计概述、汇编语言程序的结构形式、汇编语言的伪指令。
(一个单片机应用系统和其它计算机系统一样,在完成一项具体工作的时候,它要按照一定的次序,去执行操作,这些操作实际上就是由设计人员,以单片机能够接受的指令编制的程序,那么无论计算机也好,单片机也好,实际上编制程序的过程,就是用计算机来反映设计者的编程思想,那么这一章中,我们将向大家介绍怎样使用单片机指令系统来编制一些应用程序。在介绍之前,我们还是来学习汇编语言的一些基础知识)
4.1 汇编语言程序设计概述
1、计算机的汇编语言
以助记符表示的指令,每一条指令就是汇编语言的一条语句。
(汇编语言程序设计实际上就是使用汇编指令来编写计算机程序。汇编语言的语句有严格的格式要求)
2、汇编语言的语句格式
MCS-51汇编语言的语句格式表示如下:
[<标号>]: <操作码> [<操作数>]; [<注释>]
标号:指令的符号地址,有了标号,程序中的其它语句才能访问该语句。
①标号是由1~8个ASCII字符组成,但头一个字符必须是字母,其余字符可以是字母、数字或其它特定字符。
②不能使用汇编语言已经定义了的符号作为标号,如指令助记符、伪指令记忆符以及寄存器的符号名称等。
(同一个标号在程序中只能定义一次,不能重复定义;一条语句可以有标号,也可以没有标号,所以是否有标号,取决于程序中是否需要访问该语句。)
操作码:规定语句执行的操作内容,操作码是以指令助记符表示的,是汇编指令格式中唯一不能空缺的部分。
操作数:给指令的操作提供数据或地址。 注释:是对语句或程序段的解释说明。
(在单片机中,这四个部分怎么加以区分呢?使用分界符)
分界符(分隔符):用于把语句格式中的各部分隔开,以便于编译程序区分不同的指令段。
冒号(:)用于标号之后
空格( )用于操作码和操作数之间
逗号(,)用于操作数之间,分割两个以上的操作数 分号(;)用于注释之前。
(注释部分汇编语言不对它们进行编译的。而是将标号,操作码,操作数部分加以翻译成机器码。看一个例子)
(表面是延时子程序的第一条语句,故加上标号,便于访问。上面的语句如何编译的呢?) ??? ORG 3000H
?3000H E8H???DELY: MOV A, R0 ; 这是延时子程序
(在这条指令前,加一个伪指令,定义程序首地址,我们把这一段语句定义为从3000H开始,经过编译以后,那么这一条语句的标号部分,DELY这时候就转化为实际的地址值
第四章汇编语言程序设计DOC



