如题:
Q10D6: CLR A ;10D6 E4
MOVC A,@A+DPTR ;10D7 93
INC DPTR ;10D8 A3
MOV R0,A ;10D9 F8
Q10DA: CLR A ;10DA E4
MOVC A,@A+DPTR ;10DB 93
INC DPTR ;10DC A3
JC Q10E2 ;10DD 40 03
MOV @R0,A ;10DF F6
SJMP Q10E3 ;10E0 80 01
Q10E2: MOVX @R0,A ;10E2 F2
Q10E3: INC R0 ;10E3 08
DJNZ R7,Q10DA ;10E4 DF F4
SJMP Q1109 ;10E6 80 21
Q10E8: CLR A ;10E8 E4
MOVC A,@A+DPTR ;10E9 93
INC DPTR ;10EA A3
MOV R0,A ;10EB F8
ANL A,#07H ;10EC 54 07
ADD A,#0CH ;10EE 24 0C
XCH A,R0 ;10F0 C8
CLR C ;10F1 C3
RLC A ;10F2 33
SWAP A ;10F3 C4
ANL A,#0FH ;10F4 54 0F
ORL A,#20H ;10F6 44 20
XCH A,R0 ;10F8 C8
MOVC A,@A+PC ;10F9 83
JC Q1100 ;10FA 40 04
CPL A ;10FC F4
ANL A,@R0 ;10FD 56
SJMP Q1101 ;10FE 80 01
Q1100: ORL A,@R0 ;1100 46
Q1101: MOV @R0,A ;1101 F6
DJNZ R7,Q10E8 ;1102 DF E4
SJMP Q1109 ;1104 80 03
Q1106: MOV DPTR,#000EH ;1106 90 00 0E //数据指针寄存器DPTR=000EH
Q1109: CLR A ;1109 E4
MOV R6,#01H ;110A 7E 01
MOVC A,@A+DPTR ;110C 93
JZ Q10D3 ;110D 60 C4
INC DPTR ;110F A3
MOV R7,A ;1110 FF
ANL A,#3FH ;1111 54 3F
JNB ACC.5,Q111F ;1113 30 E5 09
ANL A,#1FH ;1116 54 1F
MOV R6,A ;1118 FE
CLR A ;1119 E4
MOVC A,@A+DPTR ;111A 93
INC DPTR ;111B A3
JZ Q111F ;111C 60 01
INC R6 ;111E 0E
Q111F: XCH A,R7 ;111F CF
ANL A,#0C0H ;1120 54 C0
ADD A,ACC ;1122 25 E0
JZ Q10D6 ;1124 60 B0
JC Q10E8 ;1126 40 C0
CLR A ;1128 E4
MOVC A,@A+DPTR ;1129 93
INC DPTR ;112A A3
MOV R2,A ;112B FA
CLR A ;112C E4
MOVC A,@A+DPTR ;112D 93
INC DPTR ;112E A3
MOV R0,A ;112F F8
Q1130: CLR A ;1130 E4
MOVC A,@A+DPTR ;1131 93
INC DPTR ;1132 A3
XCH A,R0 ;1133 C8
XCH A,DPL ;1134 C5 82
XCH A,R0 ;1136 C8
XCH A,R2 ;1137 CA
XCH A,DPH ;1138 C5 83
XCH A,R2 ;113A CA
MOVX @DPTR,A ;113B F0
INC DPTR ;113C A3
XCH A,R0 ;113D C8
XCH A,DPL ;113E C5 82
XCH A,R0 ;1140 C8
XCH A,R2 ;1141 CA
XCH A,DPH ;1142 C5 83
XCH A,R2 ;1144 CA
DJNZ R7,Q1130 ;1145 DF E9
DJNZ R6,Q1130 ;1147 DE E7
SJMP Q1109 ;1149 80 BE
Q114B: MOV A,R7 ;114B EF
ADD A,0BH ;114C 25 0B
MOV R7,A ;114E FF
MOV A,R6 ;114F EE
ADDC A,0AH ;1150 35 0A
MOV R6,A ;1152 FE
MOV A,R5 ;1153 ED
ADDC A,09H ;1154 35 09
MOV R5,A ;1156 FD
MOV A,R4 ;1157 EC
ADDC A,08H ;1158 35 08
MOV R4,A ;115A FC
LJMP Q11D8 ;115B 02 11 D8
怎么进行软件模拟? 用keil呀,開個project,把它單步執行看看它做了些啥,當然你先要把程序修改成可運行的.
ADD A,0BH ;114C 25 0B
MOV R7,A ;114E FF
MOV A,R6 ;114F EE
ADDC A,0AH ;1150 35 0A
MOV R6,A ;1152 FE
MOV A,R5 ;1153 ED
ADDC A,09H ;1154 35 09
MOV R5,A ;1156 FD
MOV A,R4 ;1157 EC
ADDC A,08H ;1158 35 08
MOV R4,A ;115A FC
LJMP Q11D8 ;115B 02 11 D8
======================================================================================
功能:
R4R5R6R7(unsigned long类型,R4为MSB) += RAM[0x08 0x09 0x0A 0x0B](unsigned long类型,0x08为MSB)
MOVC A,@A+DPTR ;1131 93
INC DPTR ;1132 A3
XCH A,R0 ;1133 C8
XCH A,DPL ;1134 C5 82
XCH A,R0 ;1136 C8
XCH A,R2 ;1137 CA
XCH A,DPH ;1138 C5 83
XCH A,R2 ;113A CA
MOVX @DPTR,A ;113B F0
INC DPTR ;113C A3
XCH A,R0 ;113D C8
XCH A,DPL ;113E C5 82
XCH A,R0 ;1140 C8
XCH A,R2 ;1141 CA
XCH A,DPH ;1142 C5 83
XCH A,R2 ;1144 CA
DJNZ R7,Q1130 ;1145 DF E9
DJNZ R6,Q1130 ;1147 DE E7
SJMP Q1109 ;1149 80 BE
======================================================================================
功能:
ROM中数据块送往XRAM中;ROM中数据块的起始地址由DPTR取得;XRAM中目标区域的首址由R2R0取得(R2为高8位);数据块长度由R6、R7取得,为(R6-1)* 256 + R7,其中R6和R7的取值范围为1~256,也就是说如果为零,则最后的效果为256。
一周热门 更多>