MCS-51单片机汇编指令操作码助记符和英文全称对照
51单片机常用汇编语言助记符英文全称

JZ(JumpifZero)结果为0则转移;
JNZ(JumpifNotZero)结果不为0则转移;
JC(JumpiftheCarryflagisset)有进位则转移;
JNC(JumpifNotCarry)无进位则转移;
JB(JumpiftheBitisset)位为1则转移;
ANL(ANDLogic)逻辑与;
XRL(Exclusive-ORLogic)逻辑异或;
CLR(Clear)清零;CPL(Complement)取反;
RL(Rotateleft)循环左移;
RLC(RotateLeftthroughttheCarryflag)带进位循环左移;
RR(RotateRight)循环右移;
XCH(Exchange)字节交换;
XCHD(Exchangelow-orderDigit)低半字节交换;
PUSH(PushontoStack)入栈;
POP(PopfromStack)出栈;
(2)算术运算类指令(8种助记符)
ADD(Addition)加法;
ADDC(AddwithCarry)带进位加法;
RRC(RotateRightthroughttheCarryflag)带进位循环右移;
SWAP(Swap)低4位与高4位交换;
(4)控制转移类指令(17种助记符)
ACALL(AbsolutesubroutineCall)子程序绝对调用;
LCALL(LongsubroutineCall)子程序长调用;
PUSHF---->pushflagPOPF---->popflag
PUSHD---->pushdflagPOPD---->popdflag
MCS-51单片机汇编指令操作码助记符和英文全称对照

直接寻址方式访问以下三种存储空间:
1.特殊功能寄存器(只能用直接寻址方式访问)。
2.内部RAM的低128字节(对于8032/8052等单片机,其内部高128字节RAM(80H~0FFH)不能用直接寻址方式访问,而只能用寄存器间接寻址方式访问)。
3.位地址空间。
寄存器间接寻址方式是由指令指出某一个寄存器的内容作为操作数的地址。
(寄存器的内容不是操作数,而是操作数所在的存储器地址。
)
寄存器间接寻址使用当前工作寄存器区中R0或R1作地址指针(堆栈操作指令用栈指针SP)来寻址内部RAM(00H~0FFH)。
寄存器间接寻址也适用于访问外部扩展的数据存储器,用R0、R1或DPTR作为地址指针。
寄存器间接寻址用符号@表示。
相对寻址相对寻址方式以PC的内容作为基地址,加上指令中给定的偏移量,所得结果送PC寄存器作为转移地址。
应注意偏移量是有符号数,在-128~+127之间。
寻址方式及相关的存储空间
特殊功能寄存器只能采用直接寻址,而内部RAM高128字节只能采用寄存器间接寻址。
目的操作数不能采用立即寻址,@Ri中的i范围为0和1,@Rn中的n范围为0~7,每条指令中最多只能有1个Rn或者@Ri。
下面的都是错的:
MOV #30H ,40H
MOV A ,@R2。
51 单片机寄存器中英文全称对照

51 单片机英文全称<51 外部引脚>缩写英文解释中文解释RST (9) Rest 复位信号引脚RXD(10-—P3.0)Receive Data 串口接收端TXD(11--P3。
1)Transmit Dat 串口发送端INT0(12—-P3.2) Interrupt0 外部中断0信号输入引脚INT1(13——P3.3)Interrupt1 外部中断1信号输入引脚T0(14-—P3。
4)Timer0 定时/计数器0输入引脚T1(15-—P3.5)Timer1 定时/计数器1输入引脚WR(16--P3。
6) Write 写信号引脚RD(17—-P3.7) Read 读信号引脚PSEN(29)Programmer Saving Enable 外部程序存储器读选通信号ALE(30)Address Latch Enable 地址锁存允许信号EA(31) Enable 外部ROM选择信号〈51内部寄存器>SFR special function register 特殊功能寄存器ACC accumulate 累加器APSW programmer status word 程序状态字CY(PSW。
7)carry 进位标志位AC(PSW.6) assistant carry 辅助进位标志位OV(PSW.2)overflow 溢出标志位PC programmer counter 程序计数器DPTR data point register 数据指针寄存器SP stack point 堆栈指针TCON timer control 定时器控制寄存器TF1 (TCON。
7) timer1 flag T1中断标志位TR1(TCON.6)timer1 run T1运行控制位TF0 (TCON。
5) timer0 flag T0中断标志位TR0 (TCON.4) timer0 run T0运行控制位IE1(TCON。
MCS-51单片机_英文全称

伪指令功能
助记符
英文全称
指定该伪指令下面一条指令(或数据块)的起始地址
ORG
Origin
结束标志
END
End
定义常数表(字节)
DB
Define Byte
定义常数表(字,即2字节)
DW
Define Word
指定预留存储区长度
DS
DefineStorage
定义位地址
BIT
Bit
定义符号(先定义后使用)
加1
INC
Increment
减1
DEC
Decrement
逻辑运算指令
清0
CLR
Clear
取反
CPL
Complement
循环左移1位
A
RL
Rotate Left
A,C
RLC
Rotate Left throughthe Carry flag
循环右移1位
A
RR
Rotate Right
A,C
RRC
Rotate Right throughthe Carry flag
电源控制寄存器
PCON
power control
微处理器
算术逻辑部件
ALU
Arithmetic Logic Unit
累加器
ACC,A
accumulate
标志寄存器
FR
Flag Register
进位标志
CY,C
CarryFlag
辅助进位标志
AF
AuxiliaryCarryFlag
溢出标志
OF
OverflowFlag
Exchange low-order Digit
MCS-51系列单片机英文全称和简称对照表

A/4
1 1 0
1
A
AC
1
A
AC
0 0
MOV MOVX MOVC PUSH POP XCH XCHD SWAP ADD ADDC SUBB MUL DIV DA INC DEC CLR CPL RL RLC
RR RRC
ANL ORL XRL AJMP
Move Move External RAM Move Code Push onto Stack Pop from Stack Exchange Exchange low-order Digit Swap Add Add with Carry Substract with Borrow Multiply Divide Decimal Adjust Increment Decrement Clear Complement Rotate Left Rotate Left through the Carry flag Rotate Right Rotate Right through the Carry flag Logical AND Logical OR Logical Exclusive OR Absolute Jump
SFR
寄存器符号 ACC , A PSW CY, C AC OV SP DPTR IP IE TMOD TCON PCON
英文全称 accumulate program status word carry auxiliary carry overflow stack point data point register interrupt priority interrupt enable timer mode timer control power control
51 单片机寄存器中英文全称对照

51 单片机英文全称<51 外部引脚>缩写英文解释中文解释RST (9) Rest 复位信号引脚RXD(10--P3.0) Receive Data 串口接收端TXD(11--P3.1) Transmit Dat 串口发送端INT0(12--P3.2) Interrupt0 外部中断0信号输入引脚INT1(13--P3.3) Interrupt1 外部中断1信号输入引脚T0(14--P3.4) Timer0 定时/计数器0输入引脚T1(15--P3.5) Timer1 定时/计数器1输入引脚WR(16--P3.6) Write 写信号引脚RD(17--P3.7) Read 读信号引脚PSEN(29) Programmer Saving Enable外部程序存储器读选通信号ALE(30) Address Latch Enable 地址锁存允许信号EA(31) Enable 外部ROM选择信号<51内部寄存器>SFR special function register 特殊功能寄存器ACC accumulate 累加器A页脚内容1PSW programmer status word 程序状态字CY(PSW.7) carry 进位标志位AC(PSW.6) assistant carry 辅助进位标志位OV(PSW.2) overflow 溢出标志位PC programmer counter 程序计数器DPTR data point register 数据指针寄存器SP stack point 堆栈指针TCON timer control 定时器控制寄存器TF1 (TCON.7) timer1 flag T1中断标志位TR1(TCON.6) timer1 run T1运行控制位TF0 (TCON.5) timer0 flag T0中断标志位TR0 (TCON.4) timer0 run T0运行控制位IE1(TCON.3) interrupt1 exterior 外部中断1中断标志位IT1(TCON.2) interrupt1 touch 外部中断1触发方式选择位IE0(TCON.1) interrupt0 exterior 外部中断0中断标志位IT0(TCON.0) interrupt0 touch (0--电平触发1--下降沿触发) IE(A8H) interrupt enable 中断允许寄存器页脚内容2EA(IE7) enable all interrupt 中断总允许位ES(IE.4) enable serial 串口中断允许位ET1(IE.3) enable timer1T1 中断允许位EX1(IE.2) enable exterior1 外部中断1中断允许位ET0(IE.1) enable timer0 T0中断允许位EX0(IE.0) enable exterior0 外部中断0中断允许位IP(B8H) interrupt priority 中断优先级寄存器PS(IP.4) priority serial 串口优先级标志位PT1(IP.3) priority timer1 定时器1优先级标志位PX1(IP.2) priority exterior1 外部中断1优先级标志位PT0(IP.1) priority timer0 定时器0优先级标志位PX0(IP.0) priority exterior0 外部中断0优先级标志位PCON(87H) power control 电源控制和波特率选择TMOD(89H) timer mode 定时器方式控制寄存器MSB most significant bit 最高有效位LSB last significant bit 最低有效位OE output enable 输出使页脚内容3页脚内容4。
(完整版)51单片机汇编指令(全)

指令中常用符号说明Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7)Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1)Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址#data表示8位常数(立即数)#data16表示16位常数Add16表示16位地址Addr11表示11位地址Rel8位代符号的地址偏移量Bit表示位地址@间接寻址寄存器或基址寄存器的前缀( )表示括号中单元的内容(( ))表示间接寻址的内容指令系统数据传送指令(8个助记符)助记符中英文注释MOV Move 移动MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器AMOV A , Direct;(direct)→A,直接地址的内容送AMOV A ,@ Ri;(Ri)→A,RI间址的内容送AMOV A , #data;data→A,立即数送AMOV Rn , A;A→Rn,累加器A的内容送寄存器RnMOV Rn ,direct;(direct)→Rn,直接地址中的内容送RnMOV Rn , #data;data→Rn,立即数送RnMOV direct , A;A→(direct),累加器A中的内容送直接地址中MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址MOV direct , #data;8位立即数送到直接地址中MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中MOV @Ri , #data; data→@Ri ,8位立即数送到间址中MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令)(MOV类指令共16条)MOVC Move Cod 查表指令MOVC A , @A+PC;PC+1→PC,(A+PC)→AMOVC A , @A+DPTR;(A+DPTR) →A(MOVC类指令共两条)MOVX Move External 与外部数据寄存区传送数据MOVX A , @DPTR;(DPTR)→A,DPTR间址单元内容送AMOVX @DPTR , A;A→(DPTR),A中内容送入DPTR间址单元MOVX A , @Ri;(Ri)→A,Ri间址单元内容送AMOVX @Ri , A;A→(Ri),A中内容送Ri间址单元(MOVX类指令4条)XCH Exchange 交换指令XCH A , Rn;Rn←→A , Rn的内容与A的内容交换XCH A , Direct; Direct ←→A ,直接地址的内容与A的内容交换XCH A , @Ri;(Ri)←→A ,间址的内容与A的内容交换XCHD Exchange Decimal十进制交换XCHD A , @Ri;(Ri.3~Ri.0) ←→A.3~A.0,间址内容低四位与A中内容低四位交换SWAP Swap 交换SWAP A;A.3~A.0←→ A.7~A.4 , A中低四位与高四位内容交换PUSH Push 入栈PUSH direct;SP+1→SP , (direct)→(SP);直接地址内容压入堆栈顶POP Pop 出栈POP direct;(SP)→(direct) , SP-1→SP;堆栈内容弹出到直接地址●算术运算类指令(7个助记符)ADD Add 加法运算ADD A , Rn;A + Rn→A , A与Rn的内容相加,结果送到A中ADD A , direct;(direct)+A→A,A与直接地址的内容相加,结果送到A中ADD A , @Ri;((Ri))+A→A, A与间址中的内容相加,结果送到A中ADD A , #data;data+A→A,A与立即数相加,和送入AADDC ADD with Carry 带进位加法ADDC A , Rn;A + Rn+CY→A , A与Rn的内容、进位状态相加,结果送到A中ADDC A , direct;(direct)+A+CY→A,A与直接地址的内容、进位状态相加,结果送到A中ADDC A , @Ri;((Ri))+A+CY→A, A与间址中的内容、进位状态相加,结果送到A中ADDC A , #data;data+A+CY→A,A与立即数、进位状态相加,和送入ASUBB Subbtract with Borrow 带进位减法SUBB A , Rn;A-Rn-CY→A,A减寄存器Rn的内容及进位标志,结果送ASUBB A , direct; A-(direct)-CY→A,A直接地址的内容及进位标志,结果送ASUBB A , @Ri; A-((Ri))-CY→A,A间址的内容及进位标志,结果送ASUBB A , #data; A-data-CY→A,A立即数及进位标志,结果送AMUL Multiply 乘法指令MUL AB;A x B→B和A,结果16位,高8位存入B,低8位存入A;若结果大于FFH,则将溢出标志OV置1DIV Divide 除法指令DIV AB;A÷B 商→A,余数→B;若除数为0,结果不确定,则将溢出标志OV置1INC Increment 加1指令INC A;A+1→A,A加1,结果放在AINC Rn; Rn +1→ Rn, Rn加1,结果放在RnINC direct; (direct)+1→ direct,直接地址的内容加1,结果放在该地址中INC @Ri;((Ri))+1→( Ri),间址中的内容加1,结果放在该间址中INC DPTR;(DPTR)+1→DPTR,数据指针内容加1,结果放在数据指针寄存器(DPTR)中DEC Decrement 减1指令INC A;A-1→A,A减1,结果放在AINC Rn; Rn -1→ Rn, Rn减1,结果放在RnINC direct; (direct)-1→ direct,直接地址的内容减1,结果放在该地址中INC @Ri;((Ri))-1→( Ri),间址中的内容减1,结果放在该间址中DA Decimal Adjust 十进制加法调整指令DA A;在加法指令后,把A中二进制码自动调整为BCD码;DA A只能更跟在ADD或ADDC加法指令后,不适用于减法●逻辑运算指令(9个助记符)ANL Logical And 逻辑与运算ANL A , Rn; (A)与(Rn)→A, A的内容与Rn中的内容相与,结果放在A中ANL A , direct; (A)与(direct)→A, A的内容与直接地址中的内容相与,结果放在A中ANL A , @Ri; (A)与((Ri))→A, A的内容与间址的内容相与,结果放在A中ANL A , #data; (A)与(data)→A, A的内容与立即数相与,结果放在A中ANL direct , A; (direct)与(A)→direct, 直接地址中的内容相与A的内容相与,结果放在直接地址中ANL direct , #data;(direct)与#data→direct, 直接地址中的内容相与立即数相与,结果放在直接地址中ORL Logical OR 逻辑或运算ORL A , Rn; (A) 或(Rn)→A, A的内容与Rn中的内容相或,结果放在A中ORL A , direct; (A) 或(direct)→A, A的内容与直接地址中的内容相或,结果放在A中ORL A , @Ri; (A) 或((Ri))→A, A的内容与间址的内容相或,结果放在A中ORL A , #data; (A) 或(data)→A, A的内容与立即数相或,结果放在A中ORL direct , A; (direct) 或A)→direct, 直接地址中的内容相与A的内容相或,结果放在直接地址中ORL direct , #data;(direct) 或#data→direct, 直接地址中的内容相与立即数相或,结果放在直接地址中XRL Logical exclusive or 逻辑异或运算ORL A , Rn; (A) 异或(Rn)→A, A的内容与Rn中的内容相异或,结果放在A中ORL A , direct; (A) 异或(direct)→A, A的内容与直接地址中的内容相异或,结果放在A中ORL A , @Ri; (A) 异或((Ri))→A, A的内容与间址的内容相异或,结果放在A中ORL A , #data; (A) 异或(data)→A, A的内容与立即数相异或,结果放在A中ORL direct , A; (direct) 或A)→direct, 直接地址中的内容相与A的内容相异或,结果放在直接地址中ORL direct , #data;(direct) 异或#data→direct, 直接地址中的内容相与立即数相异或,结果放在直接地址RL Rotate Left 循环左移指令RL A;每执行一次,A中的内容左移一位RR Rotate Right 循环右移指令RR A;每执行一次,A中的内容右移一位RLC Rotate Left with the Carry flag 带进位循环左移指令RLC A;每执行一次,CY和A中的内容左移一位RRC Rotate Right with the Carry flag带进位循环又移指令RRC A;每执行一次,CY和A中的内容右移一位注意:循环移位指令只能对A中的内容进行移位操作CPL Complement 取反指令(求补指令)CPL A;累加器内容按位取反,0变1,1变0CLR Clear 清零指令CLR A;累加器清零(A各位全变为0)●控制转移指令(9个助记符)LJMP Long Jump 长跳转指令LJMP add16;add16→PC,无条件跳转到add16地址,可在64KB范围内转移AJMP Absolute Jump 绝对跳转指令AJMP add11;add11→PC,无条件跳转到add11地址,可在2KB范围内转移SJMP Short Jump 短跳转指令SJMP rel;PC+2+rel→PC,rel是偏移量,8位有符号数(-127~127),可向前后跳转±128个地址单元JMP Jump 跳转指令JMP @A+DPTR;A+DPTR→PC,属于散转指令,无条件转向A与DPTR内容相加后形成的新地址JZ Jump if acc is Zero累加器为零转移JZ rel;A=0转向PC+2+rel→PC,A≠0,顺序执行JNZ Jump if acc is Not Zero累加器不为零转移JNZ rel;A≠0转向PC+2+rel→PC,A=0,顺序执行CJNE Compare and Jump if Not Equal比较不相等则转移CJNE A , direct , rel;A≠(direct)转向PC+3+rel→PC,否则顺序执行(PC+3 →PC);(A)>(direct)CY=0, (A)<(direct)CY=1CJNE A , #data , rel;A≠(data)转向PC+3+rel→PC,否则顺序执行(PC+3 →PC);(A)>(data)CY=0,( A)<(data)CY=1CJNE Rn , #data , rel; Rn≠(data)转向PC+3+rel→PC,否则顺序执行(PC+3 →PC); (Rn) >(data)CY=0, (Rn) <(data)CY=1CJNE @Ri , #data , rel;((Ri))≠(data)转向PC+3+rel→PC,否则顺序执行(PC+3 →PC); ((Ri))>(data)CY=0, ((Ri)) <(data)CY=1DJNE Decrement and Jump if Not Zero 减1不为0则转移DJNE Rn , rel;Rn-1→Rn, Rn≠0转向PC+2+rel→PC,否则顺序执行(PC+2→PC)DJNZ direct , rel;(direct-1)→direct, direct≠0转向PC+2+rel→PC,否则顺序执行(PC+2→PC)LCALL Long Call 长条用指令LCALL addr16;调用程序入口地址为addr16的之程序ACALL Absolute Call短调用ACALL addr11;调用程序入口地址为addr11的之程序RET ReturnRET;放在子程序最后,使程序准确返回到主程序断点处RETI Return from InterruptRETI;中断返回指令,能清楚优先级状态NOP No Operation 空操作指令NOP;空操作,产生一个机器周期延时●位操作指令MOV Move 数据传送指令MOV C , bit;(bit)→C,寻址位的状态送入CMOV bit , C;(C)→bit,C的转态送入地址中CLR Clear 清零指令CLR C;0→C,清零累加器CLR bit;清零直接寻址位CPL Complement 取反指令(求补指令)CPL C;c取反CPL bit;直接寻址位取反SETB Set Bit 置位SETB C;C置1SETB bit;直接寻址位置1ANL And Logical 与逻辑运算ANL C , bit;直接寻址位与C相与,结果放在CANL C , /bit; 直接寻址位与非C相与,结果放在CORL OR Logical 或逻辑运算ORL C , bit;直接寻址位与C相或,结果放在CORL C , /bit; 直接寻址位与非C相或,结果放在CJC Jump if Carry is set 进位位为1则转移JC rel;C=1,转向PC+2+rel→PC,否则顺序执行PC+2→PCJNC Jump if Carry is Not set 进位位为不为1则转移JNC rel;C=0,转向PC+2+rel→PC,否则顺序执行PC+2→PCJB Jump if Bit is set 进位位为1则转移JB bit , rel;(bit)=1,转向PC+3+rel→PC,否则顺序执行PC+3→PCJNB Jump if Bit is Not set 进位位为1则转移JNB bit , rel;(bit)=0,转向PC+3+rel→PC,否则顺序执行PC+3→PCJBC Jump if Bit is set and Clear bit指定位等于1转移并清该位JBC bit , rel; (bit)=1,转向PC+3+rel→PC,同时0→bit否则顺序执行PC+3→PC伪指令ORG Origin 代码起始地址指令ORG 0000HMOV A , #0010H;这条指令从0000H这个地址单元开始写起END End 汇编程序结束指令END;汇编指令结束DB字节定义伪指令ORG 1000HDB 01H , 02H;则(1000H)=01H,(1001H)=02HORG 1100HDB ‘01’;则(1100H)=30H,30H是0的ASCII码,(1101H)=31H,31H是1的ASCII码DW双字节定义伪指令ORG 2000HDW 2546H , 0178H; (2000H)=25H, (2001H)=46H, (2002H)=01H, (2003H)=78H,EQU数据赋值伪指令X EQU n;将n的值赋给xBIT位数据赋值伪指令y BIT b;y是用户定义标号,b为0或1MACRO宏指令宏指令名MACRO 形式参数······代码段······ENDM;宏指令定义结束寻址方式及相关的存储空间寻址方式寻址范围寄存器寻址R0~R7A 、B、C(CY)、AB(双字节)、DPTR(双字节)、PC(双字节)直接寻址内部RAM低128字节特殊功能寄存器内部RAM位寻区的128个位特殊功能寄存器中可寻址的位寄存器间接寻址内部数据存储器RAM【@R0,@R1,@SP(仅PUSH,POP)】内部数据存储器单元的低4位(@R0,@R1)外部RAM或I/O口(@R0,@R1,@DPTR)立即寻址程序存储器(常数)程序存储器(@A+PC,@A+DPTR)基寄存器加变址寄存器间接寻址。
51汇编语言助记符

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)出栈;(2)算术运算类指令(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) 除法;(3)逻辑运算类指令(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位交换;(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)空操作;(5)位操作指令(1种助记符)SETB(Set Bit)位置1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
寻址方式及相关的存储空间:
寻址方式
寻址范围
寄存器寻址 直接寻址
R0~R7 A 、B、C(CY)、AB(双字节)、DPTR(双字节)、PC(双字节) 内部 RAM 低 128 字节 特殊功能寄存器
内部 RAM 位寻区的 128 个位 特殊功能寄存器中可寻址的位
寄存器间接寻址 立即寻址
内部数据存储器 RAM【@R0,@R1,@SP(仅 PUSH,POP)】 内部数据存储器单元的低 4 位(@R0,@R1) 外部 RAM 或 I/O 口(@R0,@R1,器加变址 寄存器间接寻址
程序存储器(@A+PC,@A+DPTR)
特殊功能寄存器只能采用直接寻址,而内部 RAM 高 128 字节只能采用寄存器间接寻 址。目的操作数不能采用立即寻址,@Ri 中的 i 范围为 0 和 1,@Rn 中的 n 范围为 0~7,每 条指令中最多只能有 1 个 Rn 或者@Ri。下面的都是错的:
寄存器间接寻址使用当前工作寄存器区中 R0 或 R1 作地址指针(堆栈操作指令用栈指 针 SP)来寻址内部 RAM(00H~0FFH)。寄存器间接寻址也适用于访问外部扩展的数据存储 器,用 R0、R1 或 DPTR 作为地址指针。寄存器间接寻址用符号@表示。
相对寻址方式以 PC 的内容作为基地址,加上指令中给定的偏移量,所得结果送 PC 寄 存器作为转移地址。应注意偏移量是有符号数,在-128~+127 之间。
MOVe MOVe Cod MOVe eXternal PUSH POP eXCHange eXCHange Decimal ADD ADD with Carry SUBbtract with Borrow INCrement DECrement MULtiply DIVide Decimal Adjust Logical And Logical OR Logical eXclusive- oR ComPLement CLeaR SET Bit Rotate Left Rotate Right Rotate Left through the Carry flag Rotate Right through the Carry flag SWAP Absolute JuMP Long JuMP Short JuMP JuMP JuMP if acc is Zero JuMP if acc is not Zero JuMP if Carry(if Cy=1) JuMP if Not Carry(if Cy=0) JuMP if Bit is set(if Bit=1) JuMP if Not Bit (if Bit=1) JuMP if Bit is set and Clear bit Compare and Jump if Not Equal Decrement and Jump if Not Zero Absolute CALL Long CALL RETurn RETurn from Interrupt No OPeration
MCS-51 单片机汇编指令操作码助记符和英文全称对照表
MOV MOVC MOVX PUSH POP XCH XCHD ADD ADDC SUBB INC DEC MUL DIV DA ANL ORL XRL CPL CLR SETB RL RR RLC RRC SWAP AJMP LJMP SJMP JMP JZ JNZ JC JNC JB JNB JBC CJNE DJNZ ACALL LCALL RET RETI NOP
直接寻址方式访问以下三种存储空间:
1. 特殊功能寄存器(只能用直接寻址方式访问)。 2. 内部 RAM 的低 128 字节(对于 8032/8052 等单片机,其内部高 128 字节 RAM(80H~0FFH)
不能用直接寻址方式访问,而只能用寄存器间接寻址方式访问)。 3. 位地址空间。
寄存器间接寻址方式是由指令指出某一个寄存器的内容作为操作数的地址。(寄存器的 内容不是操作数,而是操作数所在的存储器地址。)
传送 代码传送 外部传送 压栈 退栈 交换 十进制交换 加 带进位加 带进位减 增量 减量 乘 除 十进制调整 逻辑与 逻辑或 逻辑异或 求补 清除 置位 循环左移 循环右移 带进位循环左移 带进位循环右移 (半字节)互换 短跳转(转移) 长跳转 相对转移 跳转 累加器为零转移 累加器不为零转移 进位位为 1 转移 进位位为零转移 指定位为 1 转移 指定位为零转移 指定位等于 1 转移并清该位 比较不相等转移 减 1 不为零转移 短调用 长调用 子程序返回 中断返回 空操作
MOV #30H 40H MOV A @R2