陌生人 发表于 2012-11-28 07:56:40

51单片机汇编缩写全称

本帖最后由 陌生人 于 2012-11-28 07:57 编辑

如有错误敬请指正

canidream 发表于 2012-11-28 08:38:18

我把它放在手机里,随时可以看。。。

xinhoujue 发表于 2012-11-28 10:57:27

谢谢分享啦~~~~~{:smile:}

liangjiatian 发表于 2012-11-29 14:15:16

好好 谢谢

林凡jeery 发表于 2023-10-10 08:41:19

感谢,最近在学汇编

下一页 发表于 2023-10-10 19:44:49

一、8051引脚
RST=RESET   (9)//复位,重启   
P3:
RXD=Received eXchange Data   (10,p3.0)//接收串行数据
TXD=Transmit eXchange Data   (11,p3.1)//发送串行数据
INT0=interrupt 0             (12,p3.2)//中断0
INT1=interrupt 1             (13,p3.3)//中断1
T0=timer 0                   (14,p3.4)//定时器0
T1=timer 1                   (15,p3.5)//定时器1
RD=ReaD                      (16,p3.6)//外部数据存储器(RAM)的读信号
WR=WRite                     (17,p3.7)//外部数据存储器(RAM)的写信号
XTAL2,XTAL1=External Crystal Oscillator (18,19) //外部晶体振荡器
PSEN=Program Store Enable   (29) //程序存储器(ROM)使能
ALE=Address Latch Enable   (30) //地址锁存
EA=External Address Enable   (31) //外部程序存储器(ROM)地址允许
二、数据传送类指令(7种助记符)
MOV (Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;
MOVC(Move Code)读取程序存储器数据表格的数据传送;
MOVX (Move External RAM) 对外部RAM的数据传送;
XCH(Exchange) 字节交换;
XCHD (Exchange low-order Digit) 低半字节交换;
PUSH (Push onto Stack) 入栈;
POP(Pop from Stack) 出栈;
三、算术运算类指令(8种助记符)
ADD(Addition) 加法;
ADDC (Add with Carry) 带进位加法;
SUBB (Subtract with Borrow) 带借位减法;
DA   (Decimal Adjust) 十进制调整;
INC(Increment) 加1;
DEC(Decrement) 减1;
MUL(Multiplication、Multiply) 乘法;
DIV(Division、Divide) 除法;
四、逻辑运算类指令(10种助记符)
ANL(AND Logic) 逻辑与;
ORL(OR Logic) 逻辑或;
XRL(Exclusive-OR Logic) 逻辑异或;
CLR(Clear) 清零;
CPL(Complement) 取反;
RL   (Rotate left) 循环左移;
RLC(Rotate Left throught the Carry flag) 带进位循环左移;
RR   (Rotate Right) 循环右移;
RRC (Rotate Right throught the Carry flag) 带进位循环右移;
SWAP (Swap) 低4位与高4位交换;
五、控制转移类指令(17种助记符)
ACALL(Absolute subroutine Call)子程序绝对调用;
LCALL(Long subroutine Call)子程序长调用;
RET(Return from subroutine)子程序返回;
RETI (Return from Interruption)中断返回;
SJMP (Short Jump)短转移;
AJMP (Absolute Jump)绝对转移;
LJMP (Long Jump)长转移;
CJNE(Compare Jump if Not Equal)比较不相等则转移;
DJNZ(Decrement Jump if Not Zero)减1后不为0则转移;
JZ    (Jump if Zero)结果为0则转移;
JNZ   (Jump if Not Zero) 结果不为0则转移;
JC    (Jump if the Carry flag is set)有进位则转移;
JNC   (Jump if Not Carry)无进位则转移;
JB    (Jump if the Bit is set)位为1则转移;
JNB   (Jump if the Bit is Not set) 位为0则转移;
JBC   (Jump if the Bit is set and Clear the bit) 位为1则转移,并清该位;
NOP   (No Operation) 空操作;
六、位操作指令(1种助记符)
CLR   (Clear))位清零;
SETB(Set Bit)位置1 。
1.ORG   (Origin)   16位地址 ;
此指令用在原程序或数据块的开始,指明此语句后面目标程序或数据块存放的起始地址。
2.[标号:] DB(Define Byte) 字节数据项表;
将项表中的字节数据存放到从标号开始的连续字节单元中。例如:SEG: DB 88H,100,“7”,“C”
3.[标号:]DW (Define Word)双字节数据项表;
定义16位地址表,16地址按低位地址存低位字节,高位地址存高位字节。
例如:TAB: DW 1234H,7BH
4.名字EQU (Equal) 表达式 或名字=表达式;
用与给一个表达式赋值或给字符串起名字。之后名字可用做程序地址,数据地址或立即数地址使用。名字必须是一字母开头的字母数字串。
例如:COUNT=10 或 SPACE EQU 10H
5.名字DATA (Data)直接字节地址;
给8位内部RAM单元起个名字,名字必须是一字母开头的字母数字串。同一单元可起多个名字。例如:ERROR DATA 80H
6.名字XDATA(External Data)直接字节地址;
给8位外部RAM起个名字,名字规定同DATA伪指令。
例如:IO_PORT XDATA 0CF04H
7.名字BIT (Bit) 位指令;
给一可位寻址的位单元起个名字,规定同DATA伪指令。
例如:SWT BIT 30H
8.[标号:] END(End);
指出源程序到此结束,其后的程序语句不予理睬。源程序只在主程序最后使用一个END。
七、数据传送指令(30条)
MOV A,Rn            寄存器送A
MOV A,direct          直接字节送A
MOV A,@Ri             间接RAM 送A
MOV A,#data         立即数送A
MOV Rn,A            A 送寄存器
MOV Rn,direct         直接数送寄存器
MOV Rn,#data          立即数送寄存器
MOV direct,A          A 送直接字节
MOV direct,Rn         寄存器送直接字节
MOV direct,direct   直接字节送直接字节
MOV direct,@Ri      间接 Rn 送直接字节
MOV drect,#data       立即数送直接字节
MOV @Ri,A             A 送间接 Rn
MOV @Ri,direct      直接字节送间接Rn
MOV @Ri,#data         立即数送间接 Rn
MOV DPTR,#data16      16 位常数送数据指针
MOV C,bit             直接位送进位位
MOV bit,C             进位位送直接位
MOVC A,@A+DPTR      A+DPTR 寻址程序存贮字节送A
MOVC A,@A+PC          A+PC寻址程序存贮字节送A
MOVX A,@Ri            外部数据送A(8 位地)
MOVX A,@DPTR          外部数据送A(16 位地址)
MOVX @Ri,A            A 送外部数据(8 位地址)
MOVX @DPTR,A          A 送外部数据(16 位地址) 1
PUSH direct         直接字节进栈道,SP 加1
POP direct            直接字节出栈,SP 减1
XCH A,Rn            寄存器与 A 交换
XCH A,direct          直接字节与A 交换
XCH A,@Ri             间接Rn 与A 交换
XCHD A,@Ri            间接Rn 与A 低半字节交换
八、逻辑运算指令(35条)
ANL A,Rn            寄存器与到A
ANL A,direct          直接字节与到A
ANL A,@Ri             间接RAM与到A
ANL A,#data         立即数与到A
ANL direct,A          A与到直接字节
ANL direct,#data      立即数与到直接字节
ANL C,bit             直接位与到进位位
ANL C,/bit            直接位的反码与到进位位
ORL A,Rn            寄存器或到A
ORL A,direct          直接字节或到A
ORL A,@Ri            间接RAM或到A
ORL A,#data          立即数或到A
ORL direct,A         A或到直接字节
ORL direct,#data   立即数或到直接字节
ORL C,bit            直接位或到进位位
ORL C,/bit         直接位的反码或到进位位
XRL A,Rn             寄存器异或到A
XRL A,direct         直接字节异或到A
XRL A,@Ri            间接RAM异或到A
XRL A,#data          立即数异或到A
XRL direct,A         A异或到直接字节
XRL direct,#data   立即数异或到直接字节
SETBC             进位位置
SETB bit            直接位置
CLRA            A清0
CLRC            进位位清0
CLR bit             直接位清0
CPLA            A求反码
CPL C               进位位取反
CPL bit             直接位取反
RLA               A循环左移一位
RLCA            A 带进位左移一位
RRA               A右移一位
RRCA            A 带进位右移一位
SWAP A            A 半字节交换
九、算术运算指令(24条)
ADD A,Rn            寄存器加到A
ADD A,direct      直接字节加到A
ADD A,@Ri         间接RAM 加到A
ADD A,#data         立即数加到A
ADDC A,Rn         寄存器带进位加到 A
ADDC A,direct       直接字节带进位加到A
ADDC A,@Ri          间接RAM 带进位加到A
ADDC A,#data      立即数带进位加到 A
SUBB A,Rn 从A       中减去寄存器和进位
SUBB A,direct       从A 中减去直接字节和进位
SUBB A,@Ri          从A 中减去间接RAM 和进位
SUBB A,#data      从A 中减去立即数和进位
INC A               A加1
INC Rn            寄存器加1
INC direct          直接字节加1
INC @Ri             间接RAM 加1
INC DPTR            数据指针加1
DEC A               A减1
DEC Rn             寄存器减 1
DEC direct         直接字节减1
DEC @Ri            间接RAM 减1
MUL AB             A乘B
DIV AB             A被B除
DAA            A十进制调整
十、转移指令(22条)
AJMP addr 11       绝对转移
LJMP addr 16       长转移
SJMP rel         短转移 2 2 80
JMP @A+DPTR      相对于DPTR 间接转移
JZ rel             若A=0 则转移
JNZ rel            若A≠0 则转移
JC rel             若C=1 则转移
JNC rel            若C≠1 则转移
JB bit,rel         若直接位=1 则转移
JNB bit,rel      若直接位=0 则转移
JBC bit,rel      若直接位=1 则转移且清除
CJNE A,direct,rel直接数与 A 比较,不等转移
CJNE A,#data,rel   立即数与 A 比较,不等转移
CJNE @Ri,#data,rel 立即数与间接RAM比较,不等转移
CJNE Rn,#data,rel立即数与寄存器比较不等转移
DJNZ Rn,rel      寄存器减 1 不为0 转移
DJNZ direct,rel    直接字节减1 不为 0 转移
ACALL addr 11      绝对子程序调用
LCALL addr 16      子程序调用
RET                子程序调用返回
RETI               中断程序调用返回
NOP                空操作
十一、寄存器部分
SFR= special function register    //特殊功能寄存器(片内RAM 80H~FFH)
ACC= accumulate                   //累加器
PSW= programmer status word      //程序状态字
SP= stack point                  //堆栈指针
DPL,DPH=DPTR(data point register //数据指针寄存器)的低8位和高8位
IE =interrupt enable             // 中断使能
IP= interrupt priority         //中断优先级
PCON =power control            //电源控制
SCON= serial control             //串行口控制
SBUF= serial buffer            //串行数据缓冲
TCON =timer control            //定时器控制
TMOD= timer mode               //定时器方式
PSW:
CY= carry   (psw.7)            //进位(标志)
AC= auxiliary carry (psw.6)      //辅助进位
F0=   (psw.5)                  //用户自定义标志位
RS1,RS0=register selection (psw.4,psw.3)//工作寄存器组选择位
OV=overflow    (psw.2)         //溢出
P=parity(psw.0)                //奇偶校验位
IE:
EA=Enable All Interrupt          //CPU开/关中断控制位
ET=Enable Timer                   //定时器溢出中断允许位
ES=Enable Serial Port             //串行口中断允许位
EX=Enable External            //外部中断的中断允许位
IP:
PS=Priority Serial                //串口优先级
PT=Priority Timer               //定时器优先级
PX=Priority External               //外部中断优先级
SCON:
RI=Receive Interrupt            //串行口接收中断请求标志位
TI=Transmit Interrupt             //串行口发送中断请求标志位
REN=receive enable               //串行口接收允许控制位
SM=serial mode                     //串行口工作方式选择位
TCON:
TF=Timer Overflow Flag            //定时器溢出中断请求标志
TR=Timer Run                      //定时器启动控制位
IE=Interrupt Edge                  //外部中断请求标志位
IT=Interrupt Type               //外部中断触发方式选择位
十二、其它
PC = program counter            //程序计数器
OE=output enable                  //输出使能
MSB = most significant bit      //最高有效位
LSB = last significant bit      //最低有效位
ORG = originally                  //起始来源
DB = define byte                  //字节定义
EQU = equal                     //等于
DW = define word                  //字定义
CLKOUT=Clock out                  //时钟输出
BUSWDITH                        //总线宽度
Vref=voltage reference            //参考电压(带ADC的单片机中有的)
HSO=High Speed Output             //高速输出
HSI=High Speed Input            //高速输入
INST=Instruction                   //指令
NMI=No Mask Interrupt (Input)   //不可屏蔽的中断请求(输入)
BHE=Bank High Enable               //存储器的高位允许,如在80286系统中RAM的组
                                    织为16位的,分为高8位和低8位数据,分别
                                    的控制信号为BHE和BLE
页: [1]
查看完整版本: 51单片机汇编缩写全称