📄 osal.lst
字号:
\ 0000D0 E5.. MOV A,?V0 + 7
\ ??_ltoa_1:
\ 0000D2 6017 JZ ??_ltoa_2
\ 0000D4 ; Setup parameters for call to function _itoa
\ 0000D4 790A MOV R1,#0xa
\ 0000D6 741A MOV A,#0x1a
\ 0000D8 12.... LCALL ?XSTACK_DISP0_8
\ 0000DB AC82 MOV R4,DPL
\ 0000DD AD83 MOV R5,DPH
\ 0000DF AA.. MOV R2,?V0 + 6
\ 0000E1 AB.. MOV R3,?V0 + 7
\ 0000E3 90.... MOV DPTR,#(_itoa & 0xffff)
\ 0000E6 74.. MOV A,#((_itoa >> 16) & 0xff)
\ 0000E8 12.... LCALL ?BCALL ; Banked call to: DPTR()
253 if (num2) _itoa(num2, tmp2, 10);
\ ??_ltoa_2:
\ 0000EB EE MOV A,R6
\ 0000EC 7001 JNZ ??_ltoa_3
\ 0000EE EF MOV A,R7
\ ??_ltoa_3:
\ 0000EF 6017 JZ ??_ltoa_4
\ 0000F1 ; Setup parameters for call to function _itoa
\ 0000F1 790A MOV R1,#0xa
\ 0000F3 7410 MOV A,#0x10
\ 0000F5 12.... LCALL ?XSTACK_DISP0_8
\ 0000F8 AC82 MOV R4,DPL
\ 0000FA AD83 MOV R5,DPH
\ 0000FC EE MOV A,R6
\ 0000FD FA MOV R2,A
\ 0000FE EF MOV A,R7
\ 0000FF FB MOV R3,A
\ 000100 90.... MOV DPTR,#(_itoa & 0xffff)
\ 000103 74.. MOV A,#((_itoa >> 16) & 0xff)
\ 000105 12.... LCALL ?BCALL ; Banked call to: DPTR()
254 if (num1) _itoa(num1, tmp1, 10);
\ ??_ltoa_4:
\ 000108 85..82 MOV DPL,?XSP + 0
\ 00010B 85..83 MOV DPH,?XSP + 1
\ 00010E E0 MOVX A,@DPTR
\ 00010F 7002 JNZ ??_ltoa_5
\ 000111 A3 INC DPTR
\ 000112 E0 MOVX A,@DPTR
\ ??_ltoa_5:
\ 000113 600D JZ ??_ltoa_6
\ 000115 ; Setup parameters for call to function _itoa
\ 000115 790A MOV R1,#0xa
\ 000117 7406 MOV A,#0x6
\ 000119 12.... LCALL ?XSTACK_DISP0_8
\ 00011C 12.... LCALL ?Subroutine6 & 0xFFFF
\ ??CrossCallReturnLabel_22:
\ 00011F 12.... LCALL ?BCALL ; Banked call to: DPTR()
255
256 if (num3)
\ ??_ltoa_6:
\ 000122 E5.. MOV A,?V0 + 6
\ 000124 7002 JNZ ??_ltoa_7
\ 000126 E5.. MOV A,?V0 + 7
\ ??_ltoa_7:
\ 000128 6043 JZ ??_ltoa_8
257 {
258 strcpy((char*)buf, (char const*)tmp3);
\ 00012A ; Setup parameters for call to function strcpy
\ 00012A 741A MOV A,#0x1a
\ 00012C 12.... LCALL ?XSTACK_DISP0_8
\ 00012F AC82 MOV R4,DPL
\ 000131 AD83 MOV R5,DPH
\ 000133 7434 MOV A,#0x34
\ 000135 12.... LCALL ?XSTACK_DISP0_8
\ 000138 12.... LCALL ?Subroutine2 & 0xFFFF
\ ??CrossCallReturnLabel_8:
\ 00013B 12.... LCALL ?BCALL ; Banked call to: DPTR()
259 for (i = 0; i < 4 - strlen((char const*)tmp2); i++)
\ 00013E 75..00 MOV ?V0 + 0,#0x0
\ 000141 8011 SJMP ??_ltoa_9
260 strcat((char*)buf, "0");
\ ??_ltoa_10:
\ 000143 ; Setup parameters for call to function strcat
\ 000143 7C.. MOV R4,#(`?<Constant "0">` & 0xff)
\ 000145 7D.. MOV R5,#((`?<Constant "0">` >> 8) & 0xff)
\ 000147 7434 MOV A,#0x34
\ 000149 12.... LCALL ?XSTACK_DISP0_8
\ 00014C 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_0:
\ 00014F 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000152 05.. INC ?V0 + 0
\ ??_ltoa_9:
\ 000154 85.... MOV ?V0 + 2,?V0 + 0
\ 000157 ; Setup parameters for call to function strlen
\ 000157 7410 MOV A,#0x10
\ 000159 12.... LCALL ?XSTACK_DISP0_8
\ 00015C AA82 MOV R2,DPL
\ 00015E AB83 MOV R3,DPH
\ 000160 90.... MOV DPTR,#(strlen & 0xffff)
\ 000163 74.. MOV A,#((strlen >> 16) & 0xff)
\ 000165 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000168 12.... LCALL ?Subroutine9 & 0xFFFF
\ ??CrossCallReturnLabel_28:
\ 00016B 40D6 JC ??_ltoa_10
261 }
262 strcat((char*)buf, (char const*)tmp2);
\ ??_ltoa_8:
\ 00016D ; Setup parameters for call to function strcat
\ 00016D 7410 MOV A,#0x10
\ 00016F 12.... LCALL ?XSTACK_DISP0_8
\ 000172 AC82 MOV R4,DPL
\ 000174 AD83 MOV R5,DPH
\ 000176 7434 MOV A,#0x34
\ 000178 12.... LCALL ?XSTACK_DISP0_8
\ 00017B 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_1:
\ 00017E 12.... LCALL ?BCALL ; Banked call to: DPTR()
263 if (num3 || num2)
\ 000181 E5.. MOV A,?V0 + 6
\ 000183 7002 JNZ ??_ltoa_11
\ 000185 E5.. MOV A,?V0 + 7
\ ??_ltoa_11:
\ 000187 7006 JNZ ??_ltoa_12
\ 000189 EE MOV A,R6
\ 00018A 7001 JNZ ??_ltoa_13
\ 00018C EF MOV A,R7
\ ??_ltoa_13:
\ 00018D 602F JZ ??_ltoa_14
264 {
265 for (i = 0; i < 4 - strlen((char const*)tmp1); i++)
\ ??_ltoa_12:
\ 00018F 75..00 MOV ?V0 + 0,#0x0
\ 000192 8011 SJMP ??_ltoa_15
266 strcat((char*)buf, "0");
\ ??_ltoa_16:
\ 000194 ; Setup parameters for call to function strcat
\ 000194 7C.. MOV R4,#(`?<Constant "0">` & 0xff)
\ 000196 7D.. MOV R5,#((`?<Constant "0">` >> 8) & 0xff)
\ 000198 7434 MOV A,#0x34
\ 00019A 12.... LCALL ?XSTACK_DISP0_8
\ 00019D 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_2:
\ 0001A0 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0001A3 05.. INC ?V0 + 0
\ ??_ltoa_15:
\ 0001A5 85.... MOV ?V0 + 2,?V0 + 0
\ 0001A8 ; Setup parameters for call to function strlen
\ 0001A8 7406 MOV A,#0x6
\ 0001AA 12.... LCALL ?XSTACK_DISP0_8
\ 0001AD AA82 MOV R2,DPL
\ 0001AF AB83 MOV R3,DPH
\ 0001B1 90.... MOV DPTR,#(strlen & 0xffff)
\ 0001B4 74.. MOV A,#((strlen >> 16) & 0xff)
\ 0001B6 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0001B9 12.... LCALL ?Subroutine9 & 0xFFFF
\ ??CrossCallReturnLabel_29:
\ 0001BC 40D6 JC ??_ltoa_16
267 }
268 strcat((char*)buf, (char const*)tmp1);
\ ??_ltoa_14:
\ 0001BE ; Setup parameters for call to function strcat
\ 0001BE 7406 MOV A,#0x6
\ 0001C0 12.... LCALL ?XSTACK_DISP0_8
\ 0001C3 AC82 MOV R4,DPL
\ 0001C5 AD83 MOV R5,DPH
\ 0001C7 7434 MOV A,#0x34
\ 0001C9 12.... LCALL ?XSTACK_DISP0_8
\ 0001CC 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_3:
\ 0001CF 12.... LCALL ?BCALL ; Banked call to: DPTR()
269 if (!num3 && !num2 && !num1)
\ 0001D2 E5.. MOV A,?V0 + 6
\ 0001D4 7002 JNZ ??_ltoa_17
\ 0001D6 E5.. MOV A,?V0 + 7
\ ??_ltoa_17:
\ 0001D8 7022 JNZ ??_ltoa_18
\ ??_ltoa_19:
\ 0001DA EE MOV A,R6
\ 0001DB 7001 JNZ ??_ltoa_20
\ 0001DD EF MOV A,R7
\ ??_ltoa_20:
\ 0001DE 701C JNZ ??_ltoa_18
\ 0001E0 85..82 MOV DPL,?XSP + 0
\ 0001E3 85..83 MOV DPH,?XSP + 1
\ 0001E6 E0 MOVX A,@DPTR
\ 0001E7 7002 JNZ ??_ltoa_21
\ 0001E9 A3 INC DPTR
\ 0001EA E0 MOVX A,@DPTR
\ ??_ltoa_21:
\ 0001EB 700F JNZ ??_ltoa_18
270 strcpy((char*)buf, "0");
\ 0001ED ; Setup parameters for call to function strcpy
\ 0001ED 7C.. MOV R4,#(`?<Constant "0">` & 0xff)
\ 0001EF 7D.. MOV R5,#((`?<Constant "0">` >> 8) & 0xff)
\ 0001F1 7434 MOV A,#0x34
\ 0001F3 12.... LCALL ?XSTACK_DISP0_8
\ 0001F6 12.... LCALL ?Subroutine2 & 0xFFFF
\ ??CrossCallReturnLabel_9:
\ 0001F9 12.... LCALL ?BCALL ; Banked call to: DPTR()
271 }
272 else if ( radix == 16 )
273 {
274 num1 = l & 0x0000FFFF;
275 num2 = l >> 16;
276
277 if (num2) _itoa(num2, tmp2, 16);
278 if (num1) _itoa(num1, tmp1, 16);
279
280 if (num2)
281 {
282 strcpy((char*)buf,(char const*)tmp2);
283 for (i = 0; i < 4 - strlen((char const*)tmp1); i++)
284 strcat((char*)buf, "0");
285 }
286 strcat((char*)buf, (char const*)tmp1);
287 if (!num2 && !num1)
288 strcpy((char*)buf, "0");
289 }
290 else
291 return NULL;
292
293 return buf;
\ ??_ltoa_18:
\ 0001FC 7434 MOV A,#0x34
\ 0001FE 12.... LCALL ?XSTACK_DISP0_8
\ 000201 12.... LCALL ?Subroutine16 & 0xFFFF
\ ??CrossCallReturnLabel_49:
\ 000204 7424 MOV A,#0x24
\ 000206 12.... LCALL ?DEALLOC_XSTACK8
\ 000209 02.... LJMP ?Subroutine24 & 0xFFFF
\ ??_ltoa_0:
\ 00020C 7410 MOV A,#0x10
\ 00020E 69 XRL A,R1
\ 00020F 6003 JZ $+5
\ 000211 02.... LJMP ??_ltoa_22 & 0xFFFF
\ 000214 7402 MOV A,#0x2
\ 000216 12.... LCALL ?XSTACK_DISP0_8
\ 000219 78.. MOV R0,#?V0 + 0
\ 00021B 12.... LCALL ?L_MOV_X
\ 00021E 85..82 MOV DPL,?XSP + 0
\ 000221 85..83 MOV DPH,?XSP + 1
\ 000224 E5.. MOV A,?V0 + 0
\ 000226 F0 MOVX @DPTR,A
\ 000227 A3 INC DPTR
\ 000228 E5.. MOV A,?V0 + 1
\ 00022A F0 MOVX @DPTR,A
\ 00022B 7402 MOV A,#0x2
\ 00022D 12.... LCALL ?XSTACK_DISP0_8
\ 000230 78.. MOV R0,#?V0 + 0
\ 000232 12.... LCALL ?L_MOV_X
\ 000235 7410 MOV A,#0x10
\ 000237 78.. MOV R0,#?V0 + 0
\ 000239 12.... LCALL ?UL_SHR
\ 00023C AE.. MOV R6,?V0 + 0
\ 00023E AF.. MOV R7,?V0 + 1
\ 000240 EE MOV A,R6
\ 000241 7001 JNZ ??_ltoa_23
\ 000243 EF MOV A,R7
\ ??_ltoa_23:
\ 000244 6016 JZ ??_ltoa_24
\ 000246 ; Setup parameters for call to function _itoa
\ 000246 7910 MOV R1,#0x10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -