单片机汇编指令入门学习和查看
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