搜索
bottom↓
回复: 5
打印 上一主题 下一主题

51单片机汇编缩写全称

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2012-11-28 07:56:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 陌生人 于 2012-11-28 07:57 编辑

如有错误  敬请指正  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

2
发表于 2012-11-28 08:38:18 | 只看该作者
我把它放在手机里,随时可以看。。。

出0入0汤圆

3
发表于 2012-11-28 10:57:27 | 只看该作者
谢谢分享啦~~~~~

出0入0汤圆

4
发表于 2012-11-29 14:15:16 | 只看该作者
好好 谢谢

出0入4汤圆

5
发表于 2023-10-10 08:41:19 | 只看该作者
感谢,最近在学汇编

出0入37汤圆

6
发表于 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     立即数异或到直接字节
SETB  C             进位位置
SETB bit            直接位置
CLR  A              A清0
CLR  C              进位位清0
CLR bit             直接位清0
CPL  A              A求反码
CPL C               进位位取反
CPL bit             直接位取反
RL  A               A循环左移一位
RLC  A              A 带进位左移一位
RR  A               A右移一位
RRC  A              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除
DA  A              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
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 05:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表