单片机教程汇编程序设计.pptx
文本预览下载声明
第4章:汇编语言程序设计本章基本要求: ⑴ 汇编语言的构成 ⑵ 源程序的设计与汇编* ⑶ 应用程序设计*4.1 汇编语言的构成4.1.1 程序设计语言 用户要使计算机能完成各式各样的任务,就要设计各种相应的应用程序, 而设计程序就要用到程序设计语言。程序设计语言有3种: ● 机器语言 ● 汇编语言 ● 高级语言。 4.1 汇编语言的构成表4-1 机器语言和汇编语言的形式地址机器语言形式汇编语言形式二进制形式十六进制形式2000H0111010000000101B7405HSTART:MOV A,#05H2002H0020010000001010B240AH ADD A,#0AH2004H1111010100100000BF520H MOV 20H,A2006H1000000011111110B80FEH SJMP $ 机器语言中二进制形式不便记忆,常采用十六进制形式记忆4.1 汇编语言的构成在Keil调试环境下反汇编程序1、汇编源程序:汇编源程序2、反汇编程序:地址反汇编程序机器码4.1 汇编语言的构成 1、机器语言 计算机能直接识别和执行的二进制代码形式的指令称为机器指令, 而该类指令的集合称为计算机的机器语言, 或称指令系统。机器语言是面向计算机系统的。由于各种计算机内部结构, 线路的不同, 每种计算机系统都有它自己的机器语言, 即使执行同一操作, 其指令也不相同。4.1 汇编语言的构成 2、汇编语言 计算机所能执行的每条指令都对应一组二进制代码。为了容易理解和记忆计算机的指令,人们用一些英语的单词和字符以及数字作为助记符来描述每一条指令的功能。用助记符描述的指令系统,称为机器的汇编语言系统,简称汇编语言。 汇编语言也是面向机器的,每种计算机系统也都有它自己的汇编语言,用汇编语言编写的程序,称为汇编语言源程序或汇编源程序。4.1 汇编语言的构成 3、高级语言 高级语言(如:PASCAL、C、FORTRAN、BASIC等)克服了汇编语言的缺点,是一种面向问题或过程的语言。它是一种接近于自然语言和数学算法的语言,与机器的硬件无关,用户编程时不必仔细了解所用计算机的具体性能和指令系统。高级语言不但直观、易学、易懂,而且通用性强,可以在不同的计算机上运行,因此可移植性好。4.1 汇编语言的构成4.1.2 汇编语言格式 MCS—51系列单片机是用51系列单片机的指令系统来编程的,其汇编语言的语句格式,也就是单片机的指令格式,即: [标号:]操作码 [操作数] [;注释] 说明: 1、[ ]内的部分为可选项; 2、标号是一条指令在存储器存放的地址,是以字母开头的字母数字串,不可以是保留字; 3、操作码和操作数必须按照指令格式书写;4.1 汇编语言的构成举例: ORG 0060H START: MOV A,#00H ;A←0 MOV R2,#0AH ;R2←10 MOV R1,#03H ;R1←3 LOOP: ADD A,R1 ;A←A+R1 DJNZ R2,LOOP ;若R2-1≠0,则跳到LOOP NOP SJMP $ END4.1 汇编语言的构成 4、操作数可以写成以下形式(5种-128页): ①二进制、十进制、十六进制形式 ②工作寄存器、特殊功能寄存器 ③地址标号 ④带加减算符的表达式 ⑤采用$符4.1 汇编语言的构成举例: MOV A, ;A←53 MOV A,#20D ;A←20 MOV A,#20 ;A←20 MOV R0,#20H ;R0←20H MOV R1,#0BFH ;R1←BFH SJMP $ ;原地跳转 MOV R7,R2 ;R7←R2 MOV A,LABLE ;A←标号地址 MOV A,LABLE+1 ;A←标号地址+1 4.1 汇编语言的构成4.1.3 汇编语言构成汇编语言语句分为:指令性语句、指示性语句两类。1、指令性语句 包括指令系统中的全部指令,每条指令有对应的机器代码,并可由CPU执行。2、指示性语句 在汇编源程序的过程中,还有一些指令不要求CPU进行任何操作,也没有对应的机器码,不影响程序的执行,仅仅是能够指导汇编进行处理的一些指令,称之为伪指令。 4.1 汇编语言的构成 伪指令的主要功能是:用来指定程序或数据的起始位置,给出一些连续存放数据的确定地址,或为中间运算结果保留一部分存储空间以及表示源程序结束等等。 不同版本的汇编语言,伪指令的符号和含义可能有所不同, 但是基本用法是相似的。 下面介绍几种常用的基本伪指令。伪指令仅在汇编过程中起控制作用不产生可执行目标代码,又称
显示全部