3.1 指令格式及常用符号

Click here to load reader

Upload: raimondo-brooke

Post on 30-Dec-2015

151 views

Category:

Documents


4 download

DESCRIPTION

3.1 指令格式及常用符号. 第 3 章 80C51 的指令系统. 本章内容:. 3.2 80C51 的寻址方式. 3.3 数据传送类指令( 29 条). 3.4 算术运算类指令( 24 条). 3.5 逻辑运算与循环类指令( 24 条). 3.6 控制转移类指令( 17 条). 3.7 位操作类指令( 17 条). 3.1 指令格式及常用符号. 单字节指令. 3.1.1 机器指令的编码格式. 8 位编码仅为操作码 :. 0000 0100. INC A. - PowerPoint PPT Presentation

TRANSCRIPT

  • 3.1 3.2 80C51 3.3 293.4 243.5 243.6 173.7 173 80C51

  • 3.1 3.1.1 8 INC A04HA AACCE0H 0000 0100INC A

  • 53MOV AR0 81110 1000BE8H3000R01110 1000MOV AR0

  • MOV A#50H 0111 0100B0101 0000B74H50H0101 0000MOV A#50H0111 0100

  • MOV 20H#50H 0111 0101B0010 0000B0101 0000B75H20H50H0010 0000MOV 20H#50H0111 01010101 0000

  • 3.1.2 [][][]

  • ANL A40H ANL40HA AACCSFRE0H MOV A30H74H30H MOV ACC30H75HE0H30H

  • 3.1.3 Rnn=0~7-Rii=01--R0R1@ ---------------#data -----------8#data16--------16direct-----------128RAMSFR

  • addr11-----------11addr16-----------16rel-----------------8128127bit----------------RAMSFR/------------------------------ ----------------

  • 3.2 80C51

  • RAM128SFRR0R7,A,B,DPTRRAM:@R0,@R1,SPRAM:@R0,@R1,@DPTR:@A+PC,@A+DPTR256:PC+RAM(20H2FH)SFR

  • 3.2.1 MOV AR0 R0~R7ABABDPTR

  • MOV AR0 R0=30H000H7FH30H30H80HFFHAE8HFFFFHMOV AR00000HROMSFRRAM:A=30H

  • 3.2.2 RAM 128SFRMOV A50H

  • MOV A50H 50H=3AH50H7FH3AH3AH80HFFHAFFFFHMOV A50H0000HROMSFRRAM:A=50H

  • 3.2.3 RAMRAMR0R1DPTRRAMRAM256P2MOVMOVX

  • MOV A @R0 R0=30HE6HFFFFHMOV A @ R00000HROM:A=30H30H7FH5AH5AH80HFFHASFRRAM30HR0

  • 3.2.4 ROM

  • MOV A #50H 7FH50H80HFFHAFFFFHMOV A#50H0000HROMSFRRAM:A=50H

  • 3.2.5 ROMDPTRPCA

  • MOVC A @A+DPTR 7FH0FH80HFFHAFFFFHMOVC A @A+DPTR 0000HROMSFRRAM:A=88H93H88H00H24H2400H+0FH= 240FH 240FHDPLDPH88H

  • PC rel 3.2.6 PC +rel PC23PC rel :128127

  • JC rel rel75HPSW.7 17FH1000 000080HFFHPSW1002HJC rel1000HROMSFRRAM:1077H1001H1077H1000H+02H= 1002H PC1002H+75H= 1077H PCPC

  • 8 3.2.7 SFR

    CLR ACC.0 MOV 30HC RAMSFR

  • 3.3 29PSW MOV MOV MOVCMOVXPUSHPOPXCHXCHDSWAP

  • 16 data16DPTR MOV DPTR#1234H 3.3.1 DPH=12HDPL=34H

  • 8 data direct AARnRndirectdirect@Ri@Ri#data

  • A R1= 20H20H= 55H MOV A@R1MOV ARndirect@Ri#dataA= 55H

  • Rn 50H= 40H MOV R650H MOV RnAdirect#dataR6= 40H

  • direct R1=50H,50H=18H MOV 40H@R1 40H=18H MOV directRndirect1@Ri#dataA

  • @Ri R1=30HA=20H MOV @R1A30H=20HMOV @RiAdirect#data

  • 3.3.2 ROM MOVC A@A+PC PCAPCMOVC A@A+DPTR DPTRADPTR

  • RAM RAM MOVX A@DPTR MOVX A@Ri RAM MOVX @DPTRA MOVX @RiA

  • 3-4 3000H21H30H R532H3010H DPTR@Ri3-6 1000H1009H0930HXXY40H

  • PUSH direct POP direct SP 07HSP=07H40H=88H PUSH 40H SP=08H08H=88H

  • R0=80HA=20H XCH AR0 XCH ARndirect@RiA=80HR0=20H

  • R030H30H67H A20H XCHD A@R0 A27H30H60H XCHD A@Ri SWAP AA30HSWAP AA03H

  • 3.4 24 11 AA PSWOVCYAC CY OV ACBCD

  • 3.4.1 CYACOVPADD ARndirect@Ri#dataD7D6OV=1OV=1

  • A=84H30H=8DH ADD A30H A=11HCY=1AC=1OV=1D7D6P=0 CYAC

  • ACYAADDC ARndirect@Ri#data CY

  • 1 1 INC A PINC Rndirect@RiDPTRA

  • A2BCD DA A A4BCD4AC=146 A4BCD4CY=146 CY

  • CY0AR2 ADD AR2 DA A 1 23 BCD

  • 3.4.2 SUBB ARndirect@Ri#dataCYACOVPD7D6OV=1CY 0

  • A=C9HR2=54HCY=1 SUBB AR2 A=74HCY=0AC=1OV=167P=0

  • 1 1 DEC A PDEC Rndirect@RiA

  • 3.4.3 MUL AB A=50HB=A0H MUL AB A=00HB=32HOV=1CY=0 FFHOV=1 CY0X ABAB

  • 3.4.4 A=FBH251B=12H18 DIV AB A=0DHB=11HOV=0CY=0DIV AB 0ABOV=1 CY0X ABAB

  • 3.5 24 :0 A0P A CY

  • 3.5.1 : A=C3HR0=AAH ANL AR0 A=82HANL directA#dataANL ARndirect@Ri#data A

  • 3.5.2 : A=C3HR0=55HORL AR0 A=D7H ORL directA#dataORL ARndirect@Ri#data A

  • 3.5.3 A=C3HR0=AAH XRL AR0 A=69H XRL directA#dataXRL ARndirect@Ri#data A

  • 3.5.4 0 AACPL ACLR A A=A5H CLR A A=00H A 0 A

  • 3.5.5 RR A A1RRC A ACY1RL A A1RLC A ACY1

  • A2RLC A A= BDH = 1011 1101BCY0RLC A 17AH3782BDH189 APSW010111101

  • 3.6 17

  • 3.6.1 AJMP addr11 PCAJMP11PC10~0PC15~11 PC5322KBAJMPAJMP2KB

  • LJMP addr16 PC88 64KBROM NEWADD1234H LJMP NEWADD PC 1234H

  • SJMP rel rel00H7FH80HFFH1281 rel NEWADD0123HPC0100H SJMP NEWADD 0123H re l= 0123H01002= 21H

  • JMP @A+DPTRDPTRA MOV DPTR#TABLE JMP @A+DPTRTABLEAJMP ROUT0 A=00H AJMP ROUT1 A=02H AJMP ROUT2 A=04H AJMP ROUT3 A=06H

  • 3.6.2 0 A00H JNZ L1 INC A JNZ L2 L2 JZ rel A 0JNZ rel A 0

  • CJNE Adirectrel CJNE ARn@Ridatarel

  • 10 1 0 0 0DJNZ Rnrel DJNZ direct rel

  • MOV 23H#0AH CLR ALOOPXADD A23H DJNZ 23HLOOPX SJMP $ : A=10+9+8+7+6+5+4+3+2+1=37H

  • 3.6.3 AJMPLJMP ACALL addr11 LCALL addr16

  • ACALL2K LCALL64K SP=07HXADD0345HPC0123H ACALL XADD PC+2=0125H825H08H801H09HPC=0345H0345H

  • RETPC RETIRET RETI

  • 3.6.4 NOP PC1 1

  • 3.7 17 0D5H 0D0H.5PSW.5 F0 MYFLAG BIT F0PSW5CCYD7H

  • 3.7.1 MOV bitC MOV C bit CY CY=1P3=1100 0101BP1=0011 0101B MOV P1.3C MOV CP3.3 MOV P1.2C CY=0P3P1 0011 1001B

  • 3.7.2 0 CY0 P1=1001 1101BCLR P1.3 ( P1 )=1001 0101BCLR C CLR bit 0

  • P1=1001 1100BSETB P1.0 P11001 1101B CY1SETB C SETB bit 1

  • 3.7.3 P1=1001 1100BCY1ANL C P1.0 P1 CY0 ANL Cbit ANL C/bit

  • ORL Cbit ORL C/bit CPL C CPL bit

  • 3.7.4 CYCY=1PCrel JC rel JNC rel CY=0PCrel

  • bitJB bitrel JBC bitrel JNB bitrel bit =1PCrel bit =0PCrel 0

  • 180C51280C513SFR4RAM5RAM6780C51880C52RAM128

  • 9 1MOV A#88H 2MOV R350H 3MOV P1.1#55H 4ADD A@R1 5SETB 12H10 1R0R1 2RAM60HR2 3RAM1000HRAM60H 4RAM1000HR2 5RAM1000HRAM2000H

  • 11R1=30HA=40H30H=60H40H=08H MOV A@R1 MOV @R140H MOV 40HA MOV R1#7FH12A=E8HR0=40HR1=20HR4=3AH40H=2CH20=0FHCYACOV 1MOV A@R0 2ANL 40H#0FH 3ADD AR4 4SWAP A 5DEC @R1 6XCHD A@R1

  • 1350H=40HAR0RAM40H41H42H MOV A50H MOV R0A MOV A#00H MOV @R0A MOV A3BH MOV 41HA MOV 42H41H14 1ACC.0 24 3ACC.3ACC.4ACC.5ACC.6

  • 15RAM20H21H22H2FH2EH2DH16167F4DH2B4EHRAM30H31H31H830H817R14R248R118RAM20H21HR2R3R28R38

  • 19CY=1P1=10100011BP3=01101100BCYP1P3 MOV P1.3C MOV P1.4C MOV CP1.6 MOV P3.6C MOV CP1.0 MOV P3.4C2012MHz20ms