找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5530|回复: 2
打印 上一主题 下一主题
收起左侧

MCS-51单片机汇编指令表

[复制链接]
跳转到指定楼层
楼主
ID:101489 发表于 2016-1-3 01:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
;操作码 操作数← 说明 字节数
;一、 数据传送、交换、栈出入类(29条)      
MOV A,Rn ;寄存器传送至累加器 1
MOV A,direct ;直接字节送累加器 2
MOV A,@Ri ;间接RAM送累加器 1
MOV A,#data ;立即数送累加器 2
MOV Rn,A ;累加器送寄存器 1
MOV Rn,direct ;直接字节送寄存器 2
MOV Rn,#data ;立即数送寄存器 2
MOV direct,A ;累加器送直接字节 2
MOV direct,Rn ;寄存器送直接字节 2
MOV direct,direct ;直接字节送直接字节 2
MOV direct,@Ri ;间接RAM送直接字节 2
MOV direct,#data ;立即数据送直接字节 2
MOV @Ri,A ;累加器送间接RAM 1
MOV @Ri,direct ;直接字节送间接RAM 2
MOV @Ri,#data ;立即数据送间接RAM 2
MOV DPTR,#datal6 ;数据指针中装入16位常数 3
MOVC A,@A+DPTR ;相对于DPTR的代码字节送A 1
MOVC A,@A+PC ;相对于PC的代码字节送A 1
MOVX A,@Ri ;外部RAM(8位地址)送A 1
MOVX A,@DPTR ;外部RAM(16位地址)送A 1
MOVX @Ri,A ;A送外部RAM(8位地址) 1
MOVX @DPTR,A ;A送外部RAM(16位地址) 1
PUSH direct ;直接字节入栈 2
POP direct ;直接字节出栈 2
XCH A,Rn ;寄存器和累加器交换 1
XCH A,direct ;直接字节和累加器交换 2
XCH A,@Ri ;间接RAM和A交换 1
XCHD A,@Ri ;间接RAM和累加器交换低4位 1
SWAP A ;累加器左右半字节交换 1
;      
;二、算术运算类(24条)      
ADD A,Rn ;寄存器加入累加器 1
ADD A,direct ;直接字节加入累加器 2
ADD A,@Ri ;间接RAM与累加器相加 1
ADD A,#data ;立即数据与累加器相加 2
ADDC A,Rn ;有进位的寄存器与累加器相加 1
ADDC A,direct ;带进位的直接字节与A相加 2
ADDC A,@Ri ;带进位的间接RAM与A相加 1
ADDC A,#data ;带进位的立即数与A相加 2
SUBB A,Rn ;带借位的A减去寄存器 1
SUBB A,direct ;带借位的A减去寄存器直接字节 2
SUBB A,@Ri ;带借位的A减去间接RAM 1
SUBB A,#data ;带借位的A减去立即数 2
INC A ;累加器加1 1
INC Rn ;寄存器加1 1
INC direct ;直接字节加1 2
INC @Ri ;间接RAM加1 1
INC DPTR ;数据指针字加1 1
DEC A ;累加器减1 1
DEC Rn ;寄存器减1 2
DEC direct ;直接字节减1 1
DEC @Ri ;间接字节RAM减1 1
MUL AB ;A与B相乘(结果高字在B) 1
DIV AB ;A除以B 1
DA A ;十进制调整累加器 1
;      
;三、逻辑操作类(24条)      
ANL A,Rn ;"寄存器""与""到累加器" 1
ANL A,direct ;"地址字节""与""到累加器" 2
ANL A,@Ri ;"间接RAM""与""到累加器" 1
ANL A,#data ;"立即数""与""到累加器" 2
ANL direct,A ;"累加器""与""到直接字节" 2
ANL direct,#data ;"立即数据""与""到直接字节" 3
ORL A,Rn ;"寄存器""或""到累加器" 1
ORL A,direct ;"直接字节""或""到累加器" 2
ORL A,@Ri ;"间接RAM""或""到累加器" 1
ORL A,#data ;"立即数据""或""到累加器" 2
ORL direct,A ;"累加器""或""到直接字节" 2
ORL direct,#data ;"立即数据""或""到直接字节" 3
XRL A,Rn ;"寄存器""异或""到累加器" 1
XRL A,direct ;"直接字节""异或""到累加器" 2
XRL A,@Ri ;"间接RAM""异或""到A" 1
XRL A,#data ;"立即数""异或""到A" 2
XRL direct,A ;"累加器""异或""到直接字节" 2
XRL direct,#data ;"立即数""异或""到直接字节" 3
CLR A ;清累加器 1
CPL A ;累加器取反 1
RL A ;累加器左环移 1
RLC A ;A以进位标志左环移 1
RR A ;累加器右环移 1
RRC A ;A以进位标志右环移 1
;      
;四、位变量处理类(12条)      
CLR C ;清进位标志 1
CLR bit ;清直接寻址位 2
SETB C ;进位位置位 1
SETB bit ;直接寻址位置位 2
CPL C ;进位位取反 1
CPL bit ;直接寻址位取反 2
ANL C,bit ;"直接寻址位""与""到迸位位" 2
ANL C,/bit ;"直接寻址位的反码""与""到进位位" 2
ORL C,bit ;"直接寻址位""或""到进位位" 2
ORL C,/bit ;"直接寻址位的反码""或""到迸位位" 2
MOV C,bit ;直接寻址位传迭到进位位 2
MOV bit,C ;进位位传送到直接寻址位 2
;      
;五、控制和转移类(22条)      
ACALL addr11 ;绝对子程序调用 2
LCALL addr16 ;长子程序调用 3
RET   ;从子程序返回 1
RETI   ;从中断返回 1
AJMP addr11 ;绝对转移 3
LJMP addr16 ;长转移 2
SJMP rel ;短转移(相对转移) 1
JMP @A+DPTR ;相对于DPTR的间接转移 2
JZ rel ;累加器为零转移 2
JNZ rel ;累加器为非零转移 2
JC rel ;进位位为1转移 2
JNC rel ;进位位为零转移 2
JB bit,rel ;直接寻址位为1转移 3
JNB bit,rel ;直接寻址位为零转移 3
JBC bit,reI ;直接寻址位为1转移并清除访位 3
CJNE A,direct,rel ;直接位同A比较不等则转移,A大C置1 3
CJNE A,#datal,rel ;立即数同A比较不等则转移 3
CJNE Rn,#data,rel ;立即数同RAM比较,不等则转移 3
CJNE @Ri,#data,rel ;立即数同间接RAM比较,不等则转移 3
DJNZ Rn,rel ;寄存器减1,非零则转移 3
DJNZ direct,rel ;直接字节减1,非零则转移 3
NOP   ;空操作 1
 
;29+24+24+12+22=111条.      
;addr11或addr16:11位或16位地址(2K,64K),用标号代替.    
;rel:偏移量地址,用标号代替.      
;direct:直接字节(00H-7FH).      
;PWS      


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:317494 发表于 2018-6-14 18:54 | 只看该作者
老师发的,我觉的这个靠谱一点

MSC-51.doc

11.84 KB, 下载次数: 35, 下载积分: 黑币 -5

回复

使用道具 举报

板凳
ID:243748 发表于 2018-6-15 02:31 来自手机 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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