;说明:为了使MCS-51单片机初学者快速入门,迅速掌握单片机指令含意、操作码、操作数及 ORG 0000H NOP ;空操作指令 AJMP L0003 ;绝对转移指令 L0003: LJMP L0006 ;长调用指令 L0006: RR A ;累加器A内容右移 (先置A为88H) INC A ; 累加器A 内容加1 INC 01H ;直接地址(字节01H)内容加1 INC @R0 ; R0的内容 (为地址) 的内容即间接RAM加1 ;(设R0=02H,02H=03H,单步执行后02H=04H) INC @R1 ; R1的内容 (为地址) 的内容即间接RAM加1 ;(设R1=02H,02H=03H,单步执行后02H=04H) INC R0 ; R0的内容加1 (设R0为00H,单步执行后查R0内容为多少) INC R1 ; R1的内容加1(设R1为01H,单步执行后查R1内容为多少) INC R2 ; R2的内容加1 (设R2为02H,单步执行后查R2内容为多少) INC R3 ; R3的内容加1(设R3为03H,单步执行后查R3内容为多少) INC R4 ; R4的内容加1(设R4为04H,单步执行后查R4内容为多少) INC R5 ; R5的内容加1(设R5为05H,单步执行后查R5内容为多少) INC R6 ; R6的内容加1(设R6为06H,单步执行后查R6内容为多少) INC R7 ; R7的内容加1(设R7为07H,单步执行后查R7内容为多少) JBC 20H,L0017; 如果位(如20H,即24H的0位)为1,则转移并清0该位 L0017: ACALL S0019 ;绝对调用 S0019: LCALL S001C ;长调用 S001C: RRC A ;累加器A的内容带进位位右移(设A=11H,C=0 ;单步执行后查A和C内容为多少) DEC A ;A的内容减1 DEC 01H ;直接地址(01H)内容减1 DEC @R0 ;R0间址减1,即R0的内容为地址,该地址的内容减1 DEC @R1 ; R1间址减1 DEC R0 ; R0内容减1 DEC R1 ; R1内容减1 DEC R2 ; R2内容减1 DEC R3 ; R3内容减1 DEC R4 ; R4内容减1 DEC R5 ; R5内容减1 DEC R6 ; R6内容减1 DEC R7 ; R7内容减1 JB 20H,L002D;如果位(20H,即24H的0位)为1则转移 L002D: AJMP L0017 ;绝对转移 RET ;子程序返回指令 RL A ;A左移 ADD A,#01H ;A的内容与立即数(01H)相加 ADD A,01H ; A的内容与直接地址 (01H内容)相加 ADD A,@R0 ; A的内容与寄存器R0的间址内容相加 ADD A,@R1 ; A的内容与寄存器R1的间址内容相加 ADD A,R0 ; A的内容与寄存器R0的内容相加 ADD A,R1 ; A的内容与寄存器R1的内容相加 ADD A,R2 ; A的内容与寄存器R2的内容相加 ADD A,R3 ; A的内容与寄存器R3的内容相加 ADD A,R4 ; A的内容与寄存器R4的内容相加 ADD A,R5 ; A的内容与寄存器R5的内容相加 ADD A,R6 ; A的内容与寄存器R6的内容相加 ADD A,R7 ; A的内容与寄存器R7的内容相加 JNB 30H,L0041 ;直接位(30H)为0相对转移 L0041: ACALL S0100 ;绝对调用 RETI ;中断返回指令 RLC A ;带进位位左移 ADDC A,#02H ;A带进位位与立即数(#02H)相加 ADDC A,02H ; A带进位位与直接地扯(02H内容)相加 ADDC A,@R0 ; A带进位位与R0间扯内容相加 ADDC A,@R1 ; A带进位位与R1间扯内容相加 ADDC A,R0 ; A带进位位与R0内容相加 ADDC A,R1 ; A带进位位与R1内容相加 ADDC A,R2 ; A带进位位与R2内容相加 ADDC A,R3 ; A带进位位与R3内容相加 ADDC A,R4 ; A带进位位与R4内容相加 ADDC A,R5 ; A带进位位与R5内容相加 ADDC A,R6 ; A带进位位与R6内容相加 ADDC A,R7 ; A带进位位与R7内容相加 JC L0095 ;进位为1转移 NOP AJMP L0017 ;绝对转移 ORL 02H,A ;直接地址内容与A或 ORL 02H,#02H ; 直接地址内容与立即数或 ORL A,#44H ;A与立即数或 ORL A,02H ; A与直接地址内容或 ORL A,@R0 ; A与R0间址内容或 ORL A,@R1 ; A与R1间址内容或 ORL A,R0 ; A与R0内容或 ORL A,R1 ; A与R1内容或 ORL A,R2 ; A与R2内容或 ORL A,R3 ; A与R3内容或 ORL A,R4 ; A与R4内容或 ORL A,R5 ; A与R5内容或 ORL A,R6 ; A与R6内容或 ORL A,R7 ; A与R7内容或 JNC L0017 ;进位为0转移 ACALL L0017 ;绝对调用 ANL 02H,A ; 直接地址与A与 ANL 02H,#02H ; 立即数与直接地址与 ANL A,#02H ; A与立即数与 ANL A,02H ;A与直接地址与 ANL A,@R0 ; A与R0间址与 ANL A,@R1 ; A与R1间址与 ANL A,R0 ; A与R0与 ANL A,R1 ; A与R1与 ANL A,R2 ; A与R2与 ANL A,R3 ; A与R3与 ANL A,R4 ; A与R4与 ANL A,R5 ; A与R5与 ANL A,R6 ; A与R6与 ANL A,R7 ; A与R7与 JZ L0084 ;A为零转移 L0084: AJMP L0017 ;绝对转移 XRL 01H,A ;直接地址与A异或 XRL 02H,#01H ; 直接地址与立即数异或 XRL A,#01H ;A与立即数异或 XRL A,01H ; A与直接地址异或 XRL A,@R0 ; A与R0间址址异或 XRL A,@R1 ; A与R1间址址异或 XRL A,R0 ; A与R0异或 XRL A,R1 ; A与R1异或 XRL A,R2 ; A与R2异或 XRL A,R3 ; A与R3异或 XRL A,R4 ; A与R4异或 L0095: XRL A,R5 ; A与R5异或 XRL A,R6 ; A与R6异或 XRL A,R7 ; A与R7异或 JNZ L0084 ;A不为零转 L009A: ACALL L0084 ;绝对调用 ORL C,01H ;直接位或到进位 JMP @A+DPTR;相对于DPTR间接转 MOV A,#01H ;立即数送A MOV 01H,#02H ;立即数送直接地址 MOV @R0,#01H ;立即数送间址R0 MOV @R1,#02H ; 立即数送间址R1 MOV R0,#01H ; 立即数送R0 MOV R1,#01H ; 立即数送R1 MOV R2,#01H ; 立即数送R2 MOV R3,#01H ; 立即数送R3 MOV R4,#01H ; 立即数送R4 MOV R5,#01H ; 立即数送R5 MOV R6,#01H ; 立即数送R6 MOV R7,#01H ; 立即数送R7 SJMP L00BA ;短转移 L00BA: AJMP L0095 ;绝对转移 ANL C,02H ;直接地址与进位与 ORG 00C0H ; MOV 02H,01H ;直接地址送直接地址 MOV 01H,@R0;间址R0送直接地址 MOV 01H,@R1; 间址R1送直接地址 MOV 01H,R0 ; R0送直接地址 MOV 01H,R1 ; R1送直接地址 MOV 01H,R2 ; R2送直接地址 MOV 01H,R3 ; R3送直接地址 MOV 01H,R4 ; R4送直接地址 MOV 01H,R5 ; R5送直接地址 MOV 01H,R6 ; R6送直接地址 MOV 01H,R7 ; R7送直接地址 NOP MOV DPTR,#1234H;建立数据指针地址为1234H ACALL L00BA ;绝对调用 MOV 03H,C ;进位送03H位(即20H的03位) MOVC A,@A+DPTR ;由A+DPTR寻扯的程序存贮器字节送A SUBB A,#01H ;A减去立即数和进位位 SUBB A,02H ; A减去直接地址内容和进位位 SUBB A,@R0 ; A减去R0间接RAM和进位位 SUBB A,@R1 ; A减去R1间接RAM和进位位 SUBB A,R0 ; A减去R0和进位位 SUBB A,R1 ; A减去R1和进位位 SUBB A,R2 ; A减去R2和进位位 SUBB A,R3 ; A减去R3和进位位 SUBB A,R4 ; A减去R4和进位位 SUBB A,R5 ; A减去R5和进位位 SUBB A,R6 ; A减去R6和进位位 SUBB A,R7 ; A减去R7和进位位 ORL C,/00H ;直接位的反或到进位 AJMP L0084 ;绝对转移 MOV C,03H ;直接位数送进位 INC DPTR ;数据指针加1 MUL AB ;A乘以B NOP ;A5H为二字节空操作指令 NOP MOV @R0,05H ;直接字芯送R0间接RAM MOV @R1,05H ; 直接字芯送R1间接RAM MOV R0,05H ; 直接字芯送R0 MOV R1,05H ; 直接字芯送R1 S0100: MOV R2,05H ; 直接字芯送R2 MOV R3,05H ; 直接字芯送R3 MOV R4,05H ; 直接字芯送R4 MOV R5,05H ; 直接字芯送R5 MOV R6,05H ; 直接字芯送R6 MOV R7,05H ; 直接字芯送R7 ANL C,/04H ; 直接位的反与到进位 ACALL S0100 ;绝对调用 CPL 04H ;直接位取反 CPL C ;进位取反 CJNE A,#01H,L0139 ;立即数与A比较,不相等则转移 CJNE A,01H,L0139 ; 直接字节与A比较,不相等则转移 CJNE @R0,#01H,L0139 ; 立即数与R0间接RAM比较,不相等则转移 CJNE @R1,#01H,L0139 ; 立即数与R1间接RAM比较,不相等则转移 CJNE R0,#01H,L0139 ; 立即数与R0比较,不相等则转移 CJNE R1,#01H,L0139 ; 立即数与R1比较,不相等则转移 CJNE R2,#01H,L0139 ; 立即数与R2比较,不相等则转移 CJNE R3,#01H,L0139 ; 立即数与R3比较,不相等则转移 CJNE R4,#01H,L0139 ; 立即数与R4比较,不相等则转移 CJNE R5,#01H,L0139 ; 立即数与R5比较,不相等则转移 CJNE R6,#01H,L0139 ; 立即数与R6比较,不相等则转移 CJNE R7,#01H,L0139 ; 立即数与R7比较,不相等则转移 PUSH 00H ;直接字节进栈,SP加1 L0139: AJMP L0084 ;绝对转移 CLR 04H ;直接位清零 CLR C ;清零进位 SWAP A ;A左环移四位(A的二个半字节交换) XCH A,05H ;交换A和直接字节 XCH A,@R0 ; 交换A和R0间接RAM XCH A,@R1 ; 交换A和R1间接RAM XCH A,R0 ; 交换A和R0 XCH A,R1 ; 交换A和R1 XCH A,R2 ; 交换A和R2 XCH A,R3 ; 交换A和R3 XCH A,R4 ; 交换A和R4 XCH A,R5 ; 交换A和R5 XCH A,R6 ; 交换A和R6 XCH A,R7 ; 交换A和R7 POP 00H ;直接字节出栈,SP减1 ACALL L0139 ;绝对调用 SETB 03H ;置位直接位 SETB C ;置位进位 DA A ;A的十进制加法调熊 DJNZ 01H,L0139 ;直接字节减1,不为零则转移 XCHD A,@R0 ;交换A和R0间接RAM的低4位 XCHD A,@R1 ; 交换A和R1间接RAM的低4位 L0158: DJNZ R0,L0139 ; R0减1,不为零则转移 DJNZ R1,L0158 ; R1减1,不为零则转移 DJNZ R2,L0158 ; R2减1,不为零则转移 DJNZ R3,L0158 ; R3减1,不为零则转移 DJNZ R4,L0158 ; R4减1,不为零则转移 DJNZ R5,L0158 ; R5减1,不为零则转移 DJNZ R6,L0158 ; R6减1,不为零则转移 DJNZ R7,L0158 ; R7减1,不为零则转移 MOVX A,@DPTR ;外部数据(16位地址)送A L0169: NOP AJMP L0139 ;绝对转移 MOVX A,@R0 ;R0间址即外部数据(8位地址)送A MOVX A,@R1 ; R1间址即外部数据(8位地址)送A CLR A ;清零A MOV A,05H ;直接字节送A MOV A,@R0 ;R0间接RAM送A MOV A,@R1 ; R1间接RAM送A MOV A,R0 ; R0送A MOV A,R1 ; R1送A MOV A,R2 ; R2送A MOV A,R3 ; R3送A MOV A,R4 ; R4送A MOV A,R5 ; R5送A MOV A,R6 ; R6送A MOV A,R7 ; R7送A MOVX @DPTR,A ;A送外部数据(16位地址) NOP ACALL L0169 ;绝对调用 MOVX @R0,A ;A送R0间址即外部数据(8位地址) MOVX @R1,A ; A送R1间址即外部数据(8位地址) CPL A ;A取反 MOV 05H,A ;A送直接字节 MOV @R0,A ; A送R0间址即间接RAM MOV @R1,A ; A送R1间址即间接RAM MOV R0,A ; A送R0 MOV R1,A ; A送R1 MOV R2,A ; A送R2 MOV R3,A ; A送R3 MOV R4,A ; A送R4 MOV R5,A ; A送R5 MOV R6,A ; A送R6 MOV R7,A ; A送R7 END |
|
51的汇编控制指令详细列表 8051的汇编控制指令,占用字节,执行周期列表 3.Data transfer: | 8051的汇编控制指令,占用字节,执行周期列表2.
Logical opreations: 8051的汇编控制指令,占用字节,执行周期列表4.Boolean variable manipulation: 8051的汇编控制指令,占用字节,执行周期列表 5.Program and machine control: |
上一篇:学用 c51eval (1)
下一篇:单片机名词解释