汇编数据传送指令助记符

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Rn 8个工作寄存器R0-R7

Ri 4个工作寄存器区R0-R3 PSW.4 PSW.3 / RS1 RS0

Dircet 8位内部RAM单元地址

#data 8位常数

#data16 16位常数

addr16 16的目的地址;用LJMP\LCALL,指向64KB ROM空间地址

addr11 11的目的地址;用AJMP\ACALL,指向2KB ROM空间地址

Rel 8位带符号的偏移量;用SJMP和所有的条件转移指令指向-128到+127范围bit 位地址;内部RAM可直接寻址位

DPTR 数据指针;16位地址寄存器

rrr 3位二进制数:000-111

A 累加器

B 寄存器,可用于MUL/DIV指令中

C 进位位或者进位标志

@ 间接寄存器或者基址寄存器的前缀,@Ri,@DPTR

/ 位操作的前缀,把该位取反

(X) X中的内容

((X)) 由X寻址的单元中的内容

8位数据传送指令:

MOV A,Rn/direct/@Ri/#data 将Rn/direct/@Ri/#data的数据放到A中

MOV Rn,A/direct/#data

MOV direct1,A/Rn/direct2/@Ri/#data

MOV Ri,A/direct/#date

16位数据传送指令:

MOV DPTR,#date16 将16位立即数传送到16位的指令和数据

外部数据传送指令:

MOVX A,@Ri/@DPTR 将Ri、DPTR所指外部RAM单元的数据送与A MOVX @Ri,A

MOVX @DPTR,A

查表指令:

MOVC A,@A+DPTR

MOVC A,@A+PC

数据交换指令:

SWAP A A的低半字节与高半字节互换

XCHD A,@Ri Ri的低四位与A的低四位互换

XCH A,Rn/@Ri/direct Rn的内容与A的内容互换

ADD A,Rn/direct/@Ri/#date 将A与Rn/direct/@Ri/#date的内容相加,结果放入A中

ADDC A,Rn/direct/@Ri/#date 将A与Rn/direct/@Ri/#date的内容相加,再加上C,结果放入A中

INC A/Rn/direct/@Ri/DPTR 将A/Rn/direct/@Ri/DPTR单元的内容自动加1

DA A 将A中BCD码调整

SUBB A,Rn/direct/@Ri/#date 将A的内容减去Rn/direct/@Ri/#date的内容,再减去C的内容,结果放入A中

DEC A/Rn/direct/@Ri 将A/Rn/direct/@Ri单元的内容自动减1

MUL AB 将A和B的内容相乘,结果中高8位放在B中,低8位放在A中

DIV AB 将A和B的内容相除,结果余数放在B中,商放在A中

逻辑运算类指令:

CLR A 将ACC清零

SETB A 将ACC置1

CPL A 将ACC中的每一位进行取反

ANL A,Rn/direct/@Ri/#data 将Rn/direct/@Ri/#data单元的值与A逻辑与运算,结果放入A 中

ANL direct,A/#data 将A/#data与直接地址direct逻辑与运算,结果放在direct

ORL A,Rn/direct/@Ri/#data 将Rn/direct/@Ri/#data单元的值与A逻辑或运算,结果放入A 中

ORL direct,A/#data 将A/#data与直接地址direct逻辑或运算,结果放在direct

XRL A,Rn/direct/@Ri/#data 将Rn/direct/@Ri/#data单元的值与A逻辑异或运算,结果放入A 中

XRL direct,A/#data 将A/#data与直接地址direct逻辑异或运算,结果放在direct

循环/移位类指令:

RL A 将A的内容左循环一位

RLC A 将A的内容带进位左移一位

RR A 将A的内容右移一位

RRC A 将A的内容带进位右移一位

调用/返回类指令:

LCALL addr16 调用64KB范围内的子程序

ACALL addr11 调用2KB范围内的子程序

RET 子程序返回

RETI 中断返回

无条件转移类指令:

LJMP addr16 程序无条件转移到16位目标地址,转移的范围为64KB地址空间

AJMP addr11 程序无条件转移到11位目标地址,转移的范围为2KB地址空间

SJMP rel 程序无条件转移到标号REL处,转移的范围为-128——+127地址空间

JMP @A+DPTR 程序无条件转移到某个地址,该地址为@A+DPTR之和

JZ rel 通过判定A的内容是否为0,再确定是否转移。若A=0,则跳转,若为1,则顺序执行程序

JNZ rel 通过判定A的内容是否为0,再确定是否转移。若A=1,则跳转,若为0,则顺序执行程序

JC rel 如果C=1,则跳转;否则顺序执行

JNC rel 如果C=0,则跳转;否则顺序执行

JB bit,rel 如果bit=1,则跳转;否则顺序执行

JNB bit,rel 如果bit=0,则跳转;否则顺序执行

JBC bit,rel 如果bit=1,则跳转,同时将bit清零;否则顺序执行

CJNE A/Rn/@Ri,#data,rel 如果A/Rn/@Ri内容不等于#data立即数,跳转到rel;否则就顺序执行.如果第一个数大于第二个数,C=0;否则C=1

CJNE A,direct,rel 如果A内容不等于direct,跳转到rel;否则就顺序执行.如果第一个数大于第二个数,C=0;否则C=1

DJNZ Rn/direct,rel 先将Rn/direct减1,再判断Rn/direct是否为零,如果Rn/direct不为零,跳转到rel行;否则顺序执行。

堆栈操作类指令:

PUSH direct 将直接地址direct的内容压入到堆栈中,执行前SP+1

POP direct 从堆栈中弹出数据到直接地址direct中,执行后SP-1

空操作类指令:

NOP 啥都不做

位操作类指令:

MOV C,bit bit位的值传送至C

MOV bit,C C传送至bit位

CLR C/bit 清零

SETB C/bit 置1

CPL C/bit 位取反

ANL C,bit C与bit的值逻辑与,结果放在C中

ANL C,/bit C与bit位的反相值逻辑与,结果放在C中

ORL C,bit C与bit的值逻辑或,结果放在C中

ORL C,/bit C与bit位的反相值逻辑或,结果放在C中

相关文档
最新文档