文档详情

第四章 80C51单片机汇编语言程序设计090401.ppt

发布:2017-09-01约1.36万字共65页下载文档
文本预览下载声明
第四章 汇编语言程序设计 本章结构 4.1 单片机程序设计语言概述 4.5 单片机汇编语言伪指令 4.4 汇编语言编辑和汇编 4.2 汇编语言程序的基本结构形式 顺序程序结构 分支程序结构 循环程序结构 4.3 汇编语言程序设计举例 2.汇编语言: 由字母,数字符号组成,翻译成机器语言再由CPU执行,面向机器,编译后执行速度接近机器语言,易读,不易错,但必须熟悉指令系统,移植性差; 程序精细、具体,结构紧凑,运行时间精确,高效。运算量大,实时性要求高时常用汇编。 4.1.3、汇编语言特点及其格式 P77 1、汇编语言的语句格式 标 号:操作码 操作数 ;注释 BEGIN:MOV A,#50H ;将立即数50H给A 1)标 号:用户定义的符号地址,便于查询和修改程 序,在汇编时自动生成与该语句翻译成机器 码存放在ROM单元地址相对应的16bit数。 ORG 0000H ;伪指令定义起始地址 LJMP MAIN ;跳转至主程序 ORG 0030H MAIN: MOV A,#0F0H ;主程序入口 … … 4.1.3、汇编语言特点及其格式 P77 1、汇编语言的语句格式 标 号:操作码 操作数 ;注释 BEGIN:MOV A,#50H ;将立即数50H给A 1) 标号命名规定: 1~8个ASCII码,首字符为字母; 不可用已经定义的符号作为标号,如助记符等; 标号后跟着冒号“:”; 同标号在一个程序只能定义一次; 标号可以省略不用,指令前是否有标号取决于本程序其他语句是否要访问此指令。 4.1.3、汇编语言特点及其格式 P77 1、汇编语言的语句格式 标 号:操作码 操作数 ;注释 BEGIN:MOV A,#50H ;将立即数50H给A 1) 标号举例: 错误的标号 正确的标号 1BT: LooP2: BEGIN STAB: TB+5T: TAB_CE: ADD: Q$: 2) 操作码:规定指令所执行的操作,汇编指令中不可缺少的部分,在汇编时自动生成机器码。 4.1.3、汇编语言特点及其格式 P77 1、汇编语言的语句格式 标 号:操作码 操作数 ;注释 BEGIN:MOV A,#50H ;将立即数50H给A 3)操作数:是参加运算的数据或者数据的地址。通常有单操作数、双操作数和无操作数三种情况。如果是双操作数,则操作数之间,要以逗号隔开。 (1)十六进制、二进制和十进制形式的操作数表示(注意后缀) 十六进制,后缀“H” ;二进制,后缀“B”;十进制,后缀“D”,也可省略。 若十六进制的操作数以字符A~F中的某个开头时,则需在它前面加一个 “0”,以便在汇编时把它和字符A~F区别开来。 4.1.3、汇编语言特点及其格式 P77 1、汇编语言的语句格式 标 号:操作码 操作数 ;注释 BEGIN:MOV A,#50H ;将立即数50H给A 3)操作数: (2)工作寄存器和特殊功能寄存器的表示 采用工作寄存器和特殊功能寄存器的代号来表示,也可用其地址来表示。 例如,累加器可用A(或ACC)表示。也可用0E0H来表示,0E0H为累加器A的地址。 (3)美元符号$的使用 用于表示该转移指令操作码所在的地址。例如,如下指令: JNB F0, $ 与如下指令是等价的: HERE:JNB F0,HERE 4.1.3、汇编语言特点及其格式 P77 1、汇编语言的语句格式 标 号:操作码 操作数 ;注释 BEGIN:MOV A,#50H ;将立即数50H给A 4)注 释:解释说明,增加可读性,汇编时不产生任
显示全部
相似文档