汇编语言程序设计
汇编语言程序设计
伪指令 MCS-51程序设计举例
汇编语言程序设计
一
汇编程序的伪指令
(真)指令:告诉计算机如何操作以及做何种操作 伪指令:伪指令不进行具体的操作,亦即它不像 机器指令那样是在程序运行期间由计算机来执行 的,而是在汇编程序对源程序汇编期间由汇编程 序处理的操作。 伪指令仅在汇编过程中起控制作用不产生可执行 目标代码,又称为软指令
汇编语言程序设计
1、起点指令 ORG
格式: ORG ××××H
首地址
ASM51程序中一定要写!
首地址
功能:
用法:
给程序起始地址或数据块的起始地址赋值 一般出现在每段源程序或数据块的开始
一个源程序可多次出现ORG指令 ORG 8000H ;源程序的起始地址 例: START:MOV A,#74H 为8000H
┇
汇编语言程序设计
2、结束命令 END 格式:END
ASM51程序中一定要写!
功能:汇编程序结束标志 用法: 附在一个源程序的结尾 一个源程序只能出现一次END指令 3、定义字节命令 DB 格式: 标号:DB
项或项表
字节常数或字符串 (8位)
功能:
从指定的地址单元开始,定义若干个8位
内存单元的数据。汇编程序把DB定义的
字节数据依次存入标号开始的存储单元
有定义的内存单元地址
汇编语言程序设计
例:
ORG 8000H TAB:DB 45H,73,‘5’,‘A’ TAB1:DB 101B
伪指令ORG 定义了TAB的起始地址为8000H, 伪指令DB定义了8000H~8003单元的内容依次为:
TAB (8000H)= 45H (8001H)= 49H
(8002H)= 35H
(1) 由 ORG定义
(8003H)= 41H TAB1 (8004H)= 05H
(2) 跟在其他源程序之后
汇编语言程序设计
4、定义字命令DW
格式:
标号:DW 字或字表
功能:
从指定的地址单元开始,定义若干个16位 内存单元的数据。 例: ORG 8000H TAB:DW 7234H,8AH,10 汇编后: (8000H)= 72H 注意:因为16位需占 (8001H)= 34H 用2个字节,所以高8 (8002H)= 00H 位先存入,低8位后 存入,不足16位,以 (8003H)= 8AH 0填充。 (8004H)= 00H (8005H)= 0AH
汇编语言程序设计
5、定义空间命令 DS
格式: 功能:
定义 空间
标号:DS 数据或字符及表达式 从指定单元地址开始,保留若干个内存 空间备用
例:
ORG 8000H DS 08H
DB 30H,8AH
即:8000H~8007H单元保留备用 (8008H)=30H (8009H)=8AH
汇编语言程序设计
6、等值命令 EQU
格式: 功能: 字符名称 EQU 数据或汇编符号 将一个数据或汇编符号赋予一个指定的 字符名称 例:
ORG 8000H
AA EQU R6
;AA与R6等值
MOV A,AA ;A
(R6)
汇编语言程序设计
例: A10 DELY
EQU EQU
10
;A10 = 10
07EBH ;DELY = 07EBH
MOV
A,A10
LCALL DELY ;转向入口地址 07EBH
使用EQU指令,须先赋值后使用,不能反之
汇编语言程序设计
7、数据地址赋值等值命令 DATA 格式: 功能:
字符名称 DATA 数据或表达式 此命令把数据/代码地址赋予规定的字符名称。 定义的字符名称可先使用后定义
例:INDEXJ DATA 8389H
;INDEXJ这个字符名称的
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计