赞
踩
当你编写完一个程序后,通过软件调试,你可以看到程序的指令集,从指令集你就能知道单片机内部是如何工作的,比如数据存取的寄存器与地址,下面是网上找的一篇指令集,讲的蛮好的。
一、数据传送类指令(7种助记符)
MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;
MOVC(Move
MOVX (Move
XCH (Exchange) 字节交换;
XCHD (Exchange
PUSH (Push
POP
二、算术运算类指令(8种助记符)
ADD(Addition)
ADDC(Add
SUBB(Subtract
DA(Decimal
INC(Increment)
DEC(Decrement)
MUL(Multiplication、Multiply)
DIV(Division、Divide)
三、逻辑运算类指令(10种助记符)
ANL(AND
ORL(OR
XRL(Exclusive-OR
CLR(Clear)
CPL(Complement)
RL(Rotate
RLC(Rotate
RR(Rotate
RRC (Rotate
SWAP
四、控制转移类指令(17种助记符)
ACALL(Absolute
LCALL(Long
RET(Return
RETI(Return
SJMP(Short
AJMP(Absolute
LJMP(Long
CJNE
DJNZ
JZ
JNZ
JC
JNC
JB
JNB
JBC(Jump
NOP
五、位操作指令(1种助记符)
CLR
SETB(Set
8种常用伪指令
1.ORG
此指令用在原程序或数据块的开始,指明此语句后面目标程序或数据块存放的起始地址。
2.[标号:]
将项表中的字节数据存放到从标号开始的连续字节单元中。例如:SEG:
3.[标号:]DW
定义16位地址表,16地址按低位地址存低位字节,高位地址存高位字节。
例如:TAB:
4.名字
用与给一个表达式赋值或给字符串起名字。之后名字可用做程序地址,数据地址或立即数地址使用。名字必须是一字母开头的字母数字串。
例如:COUNT=10
5.名字
给8位内部RAM单元起个名字,名字必须是一字母开头的字母数字串。同一单元可起多个名字。
例如:ERROR
6.名字
给8位外部RAM起个名字,名字规定同DATA伪指令。
例如:IO_PORT
7.名字
给一可位寻址的位单元起个名字,规定同DATA伪指令。
例如:SWT
8.[标号:] END;
指出源程序到此结束,汇编对其后的程序语句不予理睬。源程序只在主程序最后使用一个END。
1.数据传送指令(30条)
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOVC
MOVC
MOVX
MOVX
MOVX
MOVX
PUSH
POP
XCH
XCH
XCH
XCHD
2.逻辑运算指令(35条)
ANL
ANL
ANL
ANL
ANL
ANL
ANL
ANL
ORL
ORL
ORL
ORL
ORL
ORL
ORL
ORL
XRL
XRL
XRL
XRL
XRL
XRL
SETB
SETB
CLR
CLR
CLR
CPL
CPL
CPL
RL
RLC
RR
RRC
SWAP
3.算术运算指令(24条)
ADD
ADD
ADD
ADD
ADDC
ADDC
ADDC
ADDC
SUBB
SUBB
SUBB
SUBB
INC
INC
INC
INC
INC
DEC
DEC
DEC
DEC
MUL
DIV
DA
4.转移指令(22条)
AJMP
LJMP
SJMP
JMP
JZ
JNZ
JC
JNC
JB
JNB
JBC
CJNE
CJNE
CJNE
CJNE
DJNZ
DJNZ
ACALL
LCALL
RET
RETI
NOP
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。