51单片机指令系统:伪指令分析(10)

来源:本站
导读:目前正在解读《51单片机指令系统:伪指令分析(10)》的相关信息,《51单片机指令系统:伪指令分析(10)》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《51单片机指令系统:伪指令分析(10)》的详细说明。
第二十八节:伪指令分析
伪指令是告诉汇编程序,如何汇编源程序的指令。
伪指令既不控制机器的操作,也不能被汇编成机器代码,故称为伪指令。


1、 设置起始地址ORG( 用于规定目标程序段或数据块的起始地址,设置在程序开始处。)

格式: ORG nn;nn是16位二进制数

;nn给出了存放的超始地址值

给程序起始地直或数据块的起始地址赋值。它总是出现在每段源程序或数据块的开始。在一个源程序中可以多次使用ORG命令,以规定不同程序段或数据块的起始位置,所规定的地址从小到大,不允许重叠。

例如:ORG0000H

MAIN:NOVSP,#6FH

。。。。。。。。。。。。

ORG 1000H

SUB1:MOV A,#74H

2、定义字节命令 DB
告诉汇编程序从指定的地址单元开始,定义若干字节存储单元并赋初值。
格式:标号:DB <字节常数或字符>

例: ORG 1000H

TABLE1:DB 00,01,04,09,10H,19H

汇编后则(1000H)=00H

(1001H)=01H

(1002H)=04H

(1003)=09H

(1004)=10H

(1005)=19H

3、定义字命令 DW
从指定地址开始,定义若干个16个位数据,高八位存入低地址;低八位存入高地址。
例、 ORG 1000H
PIOI: DW 7654H,40H、12、‘AB’

例: ORG 2000H

ABC:DB1234H,2468H,1357H,。。。。。。。

汇编后则(2000H)=12H

(2001H)=34H

(2002H)=24H

(2003H)=68H

(2004H)=13H

(2005H)=57H

4、赋值命令 EQU
告诉汇编程序,将汇编语句操作数的值赋予本语句的标号。
格式: 标号名称 EQU 数值或汇编符号
“标号名称”在源程序中可以作数值使用,也可以作数据地址、位地址使用。
先定义后使用,放在程序开头。

格式:标号: EQU nn或汇编符号

例: BLCK EQU #1000H

TEST EQU 28H(直接地址单元)

TEST1 EQU #28H(立即数)

NMB EQU #10

MOV A,TEST(=direct)执行后,A=(28H)

若28H中存放着56H,则A=56H

MOV A,TEST1(=#data) A=28H

MOV R2,NMB (R2)=10

MOV DPTR,BLOCK

5、源程序结束 END (告诉汇编程序,对源程序的汇编到此结束。一个程序中只出现一次,在末尾。)

格式:标号: END

6、数据地址赋值伪指令 DATA
将表达式指定的数据地址赋予规定的字符名称
格式: 字符名称 DATA 表达式
注:该指令与EQU 指令相似,只是,可先使用后定义,放于程序开头、结尾均可。

7、定义空间伪指令 DS
从指定地址开始,保留由表达式指定的若干字节空间作为备用空间。
格式: [标号:] DS 表达式
例2、 ORG1000H
DS0AH
DB71H,11H,11H ;从100BH开始存放71H、11H、11H。
注:DB、DW、DS 只能用于程序存储器;而不能用于数据存储器。
8、位地址赋值伪指令 BIT
将位地址赋予规定的字符名称。
格式: 字符名称 BIT 位地址
例3、 X1 BITP12
相当于 X1EQU 92H
提醒:《51单片机指令系统:伪指令分析(10)》最后刷新时间 2023-07-10 03:57:19,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51单片机指令系统:伪指令分析(10)》该内容的真实性请自行鉴别。