微机接口 ppt Lecture06汇编语言程序设计
第五章 汇编语言程序设计
微机接口 ppt Lecture06汇编语言程序设计
汇编语言程序设计Assembling Language Programming基本内容: 语句格式 伪指令 重点:
程序结构 程序流控制(条件、分支、循环,子程序,宏汇编) 程序设计方法
微机接口 ppt Lecture06汇编语言程序设计
机器语言、汇编语言和高级语言
高级语言(High Level Language):面向过程的语言,不依赖于机器,有很好的通用性和移植性。具有 很高的程序设计效率 BASIC, C(++), VB, DELPHI, JAVA, HTML
汇编语言(Assembly Language) :最接近于机器语言的低级语言。基本单位是机器指令。采用助记符 编程,便于记忆。面向具体机器(CPU)的语言 。不具备通用性和 移植性。设计员必须对机器的硬件和软件资源有足够的了解才能设 计程序
汇编语言是各种系统软件如操作系统设计的基本语言 汇编语言编写的程序比高级语言编写的程序执行速度快,占内存少 汇编语言程序 —— 机器代码一一对应,程序流可控,速度快,用于编 制系统程序、实时通信/控制/处理。
机器语言(Machine Language):二进制表示的指令和数据序列 ——目标代码
微机接口 ppt Lecture06汇编语言程序设计
从高级语言到计算机指令编辑器(Editor) 程序设计(流程图)
编译器(Compiler) 高级语言程序(与机型无关)
汇编器(Assembler) 汇编语言(与机型有关)链接器(Linker) 机器语言(待装配的BIN指令代码) (二进制) 可执行BIN指令代码(二进制)4
微机接口 ppt Lecture06汇编语言程序设计
汇编语言的格式
汇编语言由指令和伪指令两部分组成 指令:
能使CPU执行某种操作,能生成对应的机器代码 标号段 :LABEL
操作码段OPCODE
操作数段OPRAND
;注释段COMMENT
伪指令:
不能命令CPU执行某种操作,也没有对应的机器代码,用来给 汇编程序提供某种信息
微机接口 ppt Lecture06汇编语言程序设计
伪指令 定义:仅向汇编程序发出的,并仅由汇编程序在汇编过程中识别和执行的一种汇编控制命令,它本身在目标程序中不产生机器 码。
汇编起始伪指令:ORG 汇编结束伪指令:END 等值伪指令: EQU 字节数据定义伪指令:DB 字数据定义伪指令: DW 空间定义伪指令: DS
微机接口 ppt Lecture06汇编语言程序设计
汇编起始伪指令ORG格式: [标号:]ORG 16位地址 功能: 规定下面的目标程序的起始地址 用法: 一般出现在每段源程序或数据块的开始
一个源程序可多次出现ORG指令例: ORG 8000H START:MOV A,#74H;下一条语句的地址 为8000H
┇注:该指令只能为程序存储器赋初值,不能为其他存储 器赋初值,尤其不能为内部数据存储器赋初值。7
微机接口 ppt Lecture06汇编语言程序设计
汇编结束伪指令END格式:[标号:] END [表达式] 功能:汇编程序结束标志 用法: 附在一个源程序的结尾 一个源程序只能出现一次END指令
微机接口 ppt Lecture06汇编语言程序设计
等值指令EQU格式:符号名 EQU
表达式
功能: 将一个数据或汇编符号赋予标号段规定的字符 名称 例:
ORG 8000H AA EQU R6;AA与R6等值 (R6)
MOV A,AA ;A
微机接口 ppt Lecture06汇编语言程序设计
例: A10
EQU EQU
10
;A10 = 10
DELY
07EBH ;DELY = 07EBH
MOV
A,A10 ;A10赋值后做直接地址用
LCALL DELY ;转向入口地址 07EBH 使用EQU指令,须先赋值后使用,不能反之
微机接口 ppt Lecture06汇编语言程序设计
字节定义伪指令DB项或项表
格式:[标号:] DB
8位字节数据表
功能:定义字节的内容,汇编程序把DB定义的字 节依次存入标号开始的存储单元有定义的内存单元地址
微机接口 ppt Lecture06汇编语言程序设计
例2:
ORG 8000H 45H,-1,‘5’,‘A’
TAB: DB
TAB1:DB 101B 伪指令ORG 定义了TAB的起始地址为8000H, 伪指令DB定义了8000H~8003单元的内容依次为:
TAB (8000H)= 45H (8001H)= FFH(8002H)= 35H
(1) 由 ORG定义
(8003H)= 41H TAB1 (8004H)= 05H(2) 跟在其他源程序之后12
微机接口 ppt Lecture06汇编语言程序设计
字定义伪指令DW格式:[标号:] DW 16位字节数据表 功能: 定义若干个字(双字节)例3:
ORG 8000H 7234H,8AH,10高8位 —— 低地址字节 低8位 —— 高地址字节
TAB: DW汇编后:
(8000H)= 72H
(8001H)= 34H(8002H)= 00H (8003H)= 8AH (8004H)= 00H (8005H)= 0AH
微机接口 ppt Lecture06汇编语言程序设计
空间定义伪指令DS格式: [标号:] DS 表达式 功能: 从标号指定的地址单元开始,保留若干个字节 单元作为备用的空间,保留的数量由表达式指 定义空间 定 例4: ORG 8000H
DSDB
08H30H,8AH
即:8000H~8007H单元保留备用(8008H)=30H (8009H)=8AH14
微机接口 ppt Lecture06汇编语言程序设计
位地址符号伪指令BIT格式: 字符名称 BIT 位地址 功能: 将位地址赋予所规定的字符名称 例5: A1 A2 BIT BIT P1.0 P1.1
微机接口 ppt Lecture06汇编语言程序设计
程序设计流程
分析问题,确定算法 根据算法,画出程序框图 分配内存工作区及有关端口地址 按流程图编写程序 上机汇编、调试、修改及最后确定源程序