★3.1.2  指令中的符号标识和注释符

★3.1.2 指令中的符号标识和注释符

指令系统中除表示操作码的42种助记符之外(如MOV、JB等),还使用了一些汇编语言常用符号:Rn、Ri、direct(地址00H~7FH或特殊功能寄存器SFR的地址)、#data8、#data16、ad-dr16(用于LCALL、LJMP等指令中,能调用或转移到64KB程序存储器地址空间的任何地方)、addr11(用于ACALL和AJMP指令中,可在该指令的下条指令首地址所在页的2KB内调用或转移地址的低11位)、rel、DPTR、bit(片内RAM单元包括特殊功能寄存器中的可寻址位、A、B、C、@、/(位操作的前缀,表示对该位操作数取反,如/bit)、(×)、((×))、←(用箭头右边的内容取代箭头左边的内容),而∧、∨、—(上划线)、+分别表示逻辑与、或、非、异或,$指本条指令的首地址。

例3-3:汇编语言程序及其代码在ROM中的安排举例。

MOV P1,#0F1H;意思是将数(称立即数)F1H传送到特殊功能寄存器P1中

MOV R0,A ;将寄存器A(累加器)中的内容传送到寄存器R0中

SJMP $ ;是短转移指令,符号$表示该条指令的首地址

该程序通过Keil软件汇编后生成的用十六进制表示的机器码为

75 90 F1

F8

80 FE

通过编程器编程(固化)到ROM中的机器代码安排如图3-2所示。

978-7-111-54295-7-Chapter03-2.jpg

图3-2 程序机器码在ROM中的安排