c51汇编语言指令集.docx

上传人:b****5 文档编号:4636151 上传时间:2022-12-07 格式:DOCX 页数:12 大小:17.95KB
下载 相关 举报
c51汇编语言指令集.docx_第1页
第1页 / 共12页
c51汇编语言指令集.docx_第2页
第2页 / 共12页
c51汇编语言指令集.docx_第3页
第3页 / 共12页
c51汇编语言指令集.docx_第4页
第4页 / 共12页
c51汇编语言指令集.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

c51汇编语言指令集.docx

《c51汇编语言指令集.docx》由会员分享,可在线阅读,更多相关《c51汇编语言指令集.docx(12页珍藏版)》请在冰豆网上搜索。

c51汇编语言指令集.docx

c51汇编语言指令集

 

资料转移指令

MOV移动

MOVC程式记忆体移动

MOVX外部RAM和扩展I/O口与累加器A的数据传送指令

PUSH放入堆叠

POP由堆叠取回

XCH8位元交换

XCHD低4位元交换

SWAP高低4位元交换

 

算术指令

ADD两数相加

ADDC两数相加再加C

SUBB两数相减再减C

INC加一指令

DEC减一指令

MUL(MULAB乘法指令仅此一条)相乘指令,所得的16位二进制数低8位存累加器A高8位存B

DIV(DIVAB除法指令仅此一条)相除指令,所得商存A,余数存B

DA(DAA只此一条指令)调整为十进数

逻辑指令

ANL做AND(逻辑与)运算

ORL做OR(逻辑或)运算

XRL做(逻辑异或)运算

CLR清除为0

CPL取反指令

RL不带进位左环移

RLC带进位左环移

RR不带进位右环移

RRC带进位右环移

控制转移类指令

JCC=1时跳

JNCC=0时跳

JB位元=1时跳

JNB位元=0时跳

JBC位元=1时跳且清除此位元

LCALL长调用子程序

ACALL绝对调用子程序

RET由副程式返回

RETI由中断副程式返回

AJMP绝对转移

SJMP相对转移

JMP@A+DPTR散转,相对DPTR的间接转移

JZA=0时跳

JNZA0时跳

CJNE二数比较,不相等时跳

DJNZ减一,不等於0时跳

NOP空操作

位变量指令

SETB设定为1

ORG程序开始,规定程序的起始地址

END程序结束

EQU等值指令(先赋值后使用)例:

SUMEQU30H

DB定义字节指令

DW定义字内容

DS定义保留一定的存贮单元数目

BIT位地址符号指令例:

SAMBITP1.0

RET子程序返回指令

RETI中断子程序返回指令

$本条指令地址

 

算术运算指令

指令说明周期

ADDA,RnA←A+Rn12

ADDA,directA←A+direct12

ADDA,@RiA←A+Ri12

ADDA,#dataA←A+data12

ADDCA,RnA←A+Rn+C12

ADDCA,directA←A+direct+C12

ADDCA,@RiA←A+Ri+C12

ADDCA,#dataA←A+data+C12

SUBBA,RnA←A-Rn-C12

SUBBA,directA←A-direct-C12

SUBBA,@RiA←A-Ri-C12

SUBBA,#dataA←A-data-C12

INCAA←A+112

INCRnRn←Rn+112

INCdirectdirect←direct+112

INC@Ri@Ri←@Ri+112

INCDPTRDPTR←DPTR+112

DECAA←A-112

DECRnRn←Rn-112

DECdirectdirect←direct-112

DEC@Ri@Ri←@Ri-112

MULAB两个无符号的8位数据相乘,其中高阶8位放入B缓存器,低阶8位则放入累积器ACC24

DIVAB两个无符号的8位数据相除,把ACC值除以B缓存器值,商数放回ACC,余数放在B48

DAA累加器作十进制调整48

   

   

逻辑运算指令

指令说明周期

ANLA,RnA←AandRn12

ANLA,directA←Aanddirect12

ANLA,@RiA←AandRi12

ANLA,#dataA←Aanddata12

ANLdirect,Adirect←directandA12

ANLdirect,#datadirect←directanddata24

ORLA,RnA←AorRn12

ORLA,directA←Aordirect12

ORLA,RnA←AorRn12

ORLA,@RiA←AorRi12

ORLA,#dataA←Aordata12

ORLdirect,Adirect←directorA12

ORLdirect,#datadirect←directordata24

XRLA,RnA←AxorRn12

XRLA,directA←Axordirect12

XRLA,@RiA←AxorRi12

XRLA,#dataA←Axordata12

XRLdirect,Adirect←directxorA12

XRLdirect,#datadirect←directxordata12

CLRA清除累加器12

CPLA累加器反相12

RLA累加器向左旋转12

RLCA累加器和C左旋12

RRA累加器向右旋转12

RRCA累加器和C右旋12

SWAPA累加器的高低四位互换12

   

   

数据转移指令

指令说明周期

MOVA,RnA←Rn12

MOVA,directA←direct12

MOVA,@RiA←Ri12

MOVA,#dataA←data12

MOVRn,ARn←A12

MOVRn,directRn←direct24

MOVRn,#dataRn←data12

MOVdirect,Adirect←A12

MOVdirect,Rndirect←Rn24

MOVdirect,directdirect←direct24

MOVdirect,@Ridirect←Ri24

MOVdirect,#datadirect←data24

MOV@Ri,ARi←A12

MOV@Ri,directRi←direct24

MOV@Ri,#dataRi←data12

MOVDPTR,#data16Ri←16bitdata24

MOVCA,@A+DPTRA←程序内存的数据24

MOVCA,@A+PCA←程序内存的数据24

MOVXA,@RiA←外部RAM的数据(8bit地址)24

MOVXA,@DPTRA←外部RAM的数据(16bit地址)24

MOVX@Ri,A外部的RAM(8bit)←A24

MOVX@DPTR,A外部的RAM(16bit)←A24

PUSHdirec推迭区←direct24

POPdirecdirect←堆栈区24

XCHA,RnA和Rn互换12

XCHA,directA和direct互换12

XCHA,@RiA和Ri互换12

XCHDA,@RiA和Ri的低四位互换12

   

   

位运算指令

指令说明周期

CLRC清除进位旗标12

CLRbit清除直接位12

SETBC设定进位旗标12

SETBbit设定直接位12

CPLC进位旗标反相12

CPLbit直接位反相12

ANLC,bitC←Candbit24

ANLC,/bitC←Candbit(反相)24

ORLC,bitC←Corbit24

ORLC,/bitC←Corbit(反相)24

MOVC,bitC←bit12

MOVbit,Cbit←C24

JCrel若C=1跳至rel24

JNCrel若C=0跳至rel24

JBbit,rel若bit=1跳至rel24

JNBbit,rel若bit=0跳至rel24

JBCbit,rel若bit=1跳至rel,且清除此位24

   

   

程序跳跃指令

指令说明周期

ACALLaddr11绝对式子程序呼叫24

LCALLaddr16远程子程序呼叫24

RET从子程序返回24

RETI从中断子程序返回24

AJMPaddr11绝对式跳跃24

LJMPaddr16远程跳跃24

SJMPrel短程跳跃24

JMP@A+DPTR间接跳跃24

JZrel若A=0跳至rel24

JNZrel若A不等于0跳至rel24

CJNEA,direct,rel若A不等于direct跳至rel24

CJNEA,#data,rel若A不等于data跳至rel24

CJNERn,#data,rel若Rn不等于data跳至rel24

CJNE@Ri,#data,rel若Ri不等于data跳至rel24

DJNZRn,relRn减1不等于0跳至rel24

DJNZdirect,reldirect减1不等于0跳至rel24

NOP没动作12

   

   

缩写符号说明

缩写符号说明备注

Rn缓存器R0-R7 

direct8bit内部数据存储器,包括 

1.内部数据存储器(00-7F)的地址

2.特殊功能缓存器(80-FF)的地址,如P0,PSW,TMOD..等

@Ri由缓存器R0或R1所寻址的内部RAM数据 

#data8bit常数 

#data1616bit常数 

addr1616bit的目的地址,可使跳跃指令跳跃64k 

addr1111bit的目的地址,可使跳跃指令跳跃2k 

rel具正负号的8位地址偏移量,用于相对地址的跳跃 

bit1个bit:

只所有可以位寻址的位。

(如PSW.7为CY旗号) 

A累加器(累积器) 

C或CY进位旗号 

AC辅助进位旗号 

Bb指定位B0-B7 

D半字节(4Bit)助忆符号 

F0旗号0 

I中断 

PC程序计数器 

P0I/Oport0 

P1I/Oport1 

P2I/Oport2 

P3I/Oport3 

PSW程序状态字组(类似于旗号缓存器) 

SP堆栈指针缓存器 

B缓存器B 

DPTR数据指针缓存器 

X外部滋要内存的助忆符号 

@间接地址符号 

$程序计数迄目前的值 

reg缓存器

 

8051INSTRUCTIONSET

1.Arithmeticoperations:

Mnemonic  Byte Cyc

ADDA,@Ri 1   1

ADDA,Rn  1   1

ADDA,direct 2   1

ADDA,#data 2   1

ADDCA,@Ri 1  1

ADDCA,Rn  1  1

ADDCA,direct 2  1

ADDCA,#data 2  1

SUBBA,@Ri  1  1

SUBBA,Rn  1  1

SUBBA,direct 2  1

SUBBA,#data 2  1

INCA    1  1

INC@Ri   1  1

INCRn    1  1

INCDPTR   1  1

INCdirect   2 1

INCdirect   2 1

DECA    1 1

DEC@Ri   1 1

DECRn   1 1

DECdirect  2 1

MULAB   1  4

DIVAB   1 4

DAA    1  1

2.Logicalopreations:

ANLA,@Ri 11

XRLA,@Ri 11

ANLA,Rn 11

XRLA,Rn 11

ANLA,direct21

XRLA,direct21

ANLA,#data21

XRLA,#data21

ANLdirect,A21

XRLdirect,A21

ANLdirect,#data32

XRLdirect,#data32

ORLA,@Ri11

CLRA11

ORLA,Rn11

CPLA11

ORLA,direct21

RLA11

ORLA,#data21

RLCA11

ORLdirect,A21

RRA11

ORLdirect,#data32

RRCA11

SWAPA11

3.Datatransfer:

MnemonicByteCyc

MOVA,@Ri11

MOVDPTR,#data1632

MOVA,Rn11

MOVCA,@A+DPTR12

MOVA,direct21

MOVCA,@A+PC12

MOVA,#data21

MOVXA,@Ri12

MOV@Ri,A11

MOVXA,@DPTR12

MOV@Ri,direct22

MOVX@Ri,A12

MOV@Ri,#data21

MOVX@DPTR,A12

MOVRn,A11

PUSHdirect22

MOVRn,direct22

POPdirect22

MOVRn,#data21

XCHA,@Ri11

MOVdirect,A21

XCHA,Rn11

MOVdirect,@Ri22

XCHA,direct21

MOVdirect,Rn22

XCHDA,@Ri11

MOVdirect,direct32

MOVdirect,#data32

4.Booleanvariablemanipulation:

MnemonicByteCyc

CLRC11

ANLC,bit22

SETBC11

ANLC,/bit22

CPLC11

ORLC,bit22

CLRbit21

ORLC,/bit22

SETBbit21

MOVC,bit21

CPLbit21

MOVbit,C22

5.Programandmachinecontrol:

MnemonicByteCyc

NOP11

JZrel22

RET12

JNZrel22

RETI12

JCrel22

ACALLaddr1122

JNCrel22

AJMPaddr1122

JBbit,rel32

LCALLaddr1632

JNBbit,rel32

LJMPaddr16 3 2

JBCbit,rel  3 2

SJMPrel  22

CJNEA,direct,rel 32

JMP@A+DPTR 12

CJNEA,#data,rel32

DJNZRn,rel   2 2

CJNE@Ri,#data,rel3 2

DJNZdirect,rel  3 2

CJNERn,#data,rel 32

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1