51汇编语言指令集
符号定义表符号R
DirectRidatadata16Addr16Addr11Relbit指令介绍字周节期1121112111211121112111211111含义R0~R7寄存器
0~7直接地址,内部数据区的地址RAM00H~7FHSFR80H~FFHB,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0间接地址RiR0或R1805131RAM地址00H~7FH805232RAM地址00H~FFH8位常数16位常数16位的目标地址11位的目标地址相关地址内部数据RAM20H~2FH,特殊功能寄存器的直接地址的位
指令算数运算指令1.ADDAR
2.ADDAdirect3.ADDARi4.ADDAdata5.ADDCAR
6.ADDCAdirect7.ADDCARi8.ADDCAdata9.SUBBAR
10.SUBBAdirect11.SUBBARi12.SUBBA,0data13.INCA14.INCR
f15.INCdirect16.INCRi17.INCDPTR
211111
说明:将16位的DPTR加1,当DPTR的低字节DPL从FFH溢出至00H时,会使高字节DPH加1,不影响任何标志位18.DECA19.DECR
20.DECdirect21.DECRi22.MULAB1111211114
说明:将累加器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器。如果积大于FFH,则溢出标志位OV被设定为1,而进位标志位为023.DIVAB14
说明:无符号的除法运算,将累加器A除以B寄存器的值,商存入A,余数存入B。执行本指令后,进位位C及溢出位OV被清除为024.DAA11若A309或AC1,则A30←A306若A749或C1,则A74←A746逻辑运算指令25.ANLAR
26.ANLAdirect27.ANLARi28.ANLAdata29.ANLdirectA30.ANLdirectdata31.ORLAR
32.ORLAdirect33.ORLARi34.ORLAdata35.ORLdirectA36.ORLdirectdata37.XRLAR
11211121213211211121213211
f38.XRLAdirect39.XRLARi40.XRLAdata41.XRLdirectA42.XRLdirectdata43.CLRA44.CPLA45.RLA46.RLCA47.RRA48.RRCA49.SWAPA数据转移指令50.MOVAR
51.MOVAdirect52.MOVARi53.MOVAdata54.MOVR
,A55.MOVR
direct56.MOVR
gdata57.MOVdirectA58.MOVdirectR
211121213211111111111111112111211122212122
59.MOVdirect1direct23260.MOVdirectRi61.MOVdirectdata62.MOVRiA63.MOVRidirect64.MOVRidata2232112221
65.MOVDPTRdata1632
f66.MOVC12AADPTR累加器的值再加数据指针寄存器的值为其所指定地址,将该地址的内容读入累加器67.MOVCAAPC68.MOVXARi69.MOVXADPTR70.MOVXRiA71.MOVXDPTRA72.PUSHdirect73.POPdirect74.XCHAR
75.XCHAdirect76.XCHARi77.XCHDARi布尔代数运算78.CLRC79.CLRbit80.SETBC81.SETBbit82.CPLC83.CPLbit84.ANLCbit85.ANLCbit86.ORLCbit87.ORLCbit88.MOVCbit89.MOVbitC90.Jr