time.asm
来自「很少见的源码公开的msc51和z80的c编译器。」· 汇编 代码 · 共 3,690 行 · 第 1/4 页
ASM
3,690 行
; genCmpLt ; genCmp; Peephole 105 removed redundant mov mov r7,a; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb acc.7,00133$00166$:; genPointerSet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5; Peephole 180 changed mov to clr clr a lcall __gptrput inc dptr; Peephole 180 changed mov to clr clr a lcall __gptrput; genLabel 00133$:; genEndFunction ret; time.c 90; genFunction ; -----------------------------------------; function asctime; -----------------------------------------_asctime:; time.c 0; genReceive mov r2,dpl mov r3,dph mov r4,dpx mov r5,b; time.c 91; genCall push ar2 push ar3 push ar4 push ar5 mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall _CheckTime pop ar5 pop ar4 pop ar3 pop ar2; time.c 95; genPlus mov a,#0x05 add a,r2 mov r6,a; Peephole 180 changed mov to clr clr a addc a,r3 mov r7,a; Peephole 180 changed mov to clr clr a addc a,r4 mov r0,a mov ar1,r5; genPointerGet ; genGenPointerGet mov dpl,r6 mov dph,r7 mov dpx,r0 mov b,r1 lcall __gptrget mov r6,a inc dptr lcall __gptrget mov r7,a; genPlus mov a,#0x6C add a,r6 mov r6,a mov a,#0x07 addc a,r7 mov r7,a; time.c 94; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget mov r0,a; genCast mov r1,#0x00; genPlus mov dptr,#_asctime_sloc0_1_0 mov a,#0x01 add a,r2 movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r3 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r4 inc dptr movx @dptr,a inc dptr mov a,r5 movx @dptr,a; genPointerGet ; genGenPointerGet mov dps, #0x01 mov dptr, #_asctime_sloc0_1_0 movx a,@dptr dec dps mov dpl,a inc dps inc dptr movx a,@dptr dec dps mov dph,a inc dps inc dptr movx a,@dptr dec dps mov dpx,a inc dps inc dptr movx a,@dptr mov b,a; Peephole 220a removed bogus DPS set mov dps, #0x01 mov dptr, #_asctime_sloc1_1_0 dec dps lcall __gptrget mov dps, #0x01 movx @dptr,a; genCast mov dps, #0x01 mov dptr, #_asctime_sloc0_1_0 dec dps mov dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged. movx a,@dptr inc dps movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 inc dptr; Peephole 180 changed mov to clr clr a movx @dptr,a mov dps, #0x00; genPlus mov dptr,#_asctime_sloc2_1_0 mov a,#0x02 add a,r2 movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r3 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r4 inc dptr movx @dptr,a inc dptr mov a,r5 movx @dptr,a; genPointerGet ; genGenPointerGet mov dps, #0x01 mov dptr, #_asctime_sloc2_1_0 movx a,@dptr dec dps mov dpl,a inc dps inc dptr movx a,@dptr dec dps mov dph,a inc dps inc dptr movx a,@dptr dec dps mov dpx,a inc dps inc dptr movx a,@dptr mov b,a; Peephole 220a removed bogus DPS set mov dps, #0x01 mov dptr, #_asctime_sloc1_1_0 dec dps lcall __gptrget mov dps, #0x01 movx @dptr,a; genCast mov dps, #0x01 mov dptr, #_asctime_sloc2_1_0 dec dps mov dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged. movx a,@dptr inc dps movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 inc dptr; Peephole 180 changed mov to clr clr a movx @dptr,a mov dps, #0x00; time.c 93; genPlus mov dptr,#_asctime_sloc3_1_0 mov a,#0x03 add a,r2 movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r3 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r4 inc dptr movx @dptr,a inc dptr mov a,r5 movx @dptr,a; genPointerGet ; genGenPointerGet mov dps, #0x01 mov dptr, #_asctime_sloc3_1_0 movx a,@dptr dec dps mov dpl,a inc dps inc dptr movx a,@dptr dec dps mov dph,a inc dps inc dptr movx a,@dptr dec dps mov dpx,a inc dps inc dptr movx a,@dptr mov b,a; Peephole 220a removed bogus DPS set mov dps, #0x01 mov dptr, #_asctime_sloc1_1_0 dec dps lcall __gptrget mov dps, #0x01 movx @dptr,a; genCast mov dps, #0x01 mov dptr, #_asctime_sloc3_1_0 dec dps mov dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged. movx a,@dptr inc dps movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 inc dptr; Peephole 180 changed mov to clr clr a movx @dptr,a mov dps, #0x00; genPlus mov dptr,#_asctime_sloc4_1_0 mov a,#0x04 add a,r2 movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r3 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r4 inc dptr movx @dptr,a inc dptr mov a,r5 movx @dptr,a; genPointerGet ; genGenPointerGet mov dps, #0x01 mov dptr, #_asctime_sloc4_1_0 movx a,@dptr dec dps mov dpl,a inc dps inc dptr movx a,@dptr dec dps mov dph,a inc dps inc dptr movx a,@dptr dec dps mov dpx,a inc dps inc dptr movx a,@dptr mov b,a; Peephole 220a removed bogus DPS set mov dps, #0x01 mov dptr, #_asctime_sloc1_1_0 dec dps lcall __gptrget mov dps, #0x01 movx @dptr,a; genMult mov dps, #0x01 mov dptr, #_asctime_sloc4_1_0 dec dps mov dptr, #_asctime_sloc1_1_0; Peephole 224: DPS usage re-arranged. mov b,#0x03 movx a,@dptr mul ab mov dps, #0x01 movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 inc dptr mov a,b movx @dptr,a; genPlus mov dps, #0x01 mov dptr, #_asctime_sloc5_1_0 dec dps mov dptr, #_asctime_sloc4_1_0; Peephole 224: DPS usage re-arranged. movx a,@dptr add a,#___month inc dps movx @dptr,a dec dps inc dptr movx a,@dptr addc a,#(___month >> 8) inc dps inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,#(___month >> 16) inc dptr movx @dptr,a mov dps, #0x00; genPointerGet mov dptr,#_asctime_sloc5_1_0; gencodePointerGet -- indirection special case. movx a,@dptr push acc inc dptr movx a,@dptr push acc inc dptr movx a,@dptr mov dpx,a pop dph pop dpl mov dps, #0x01 mov dptr,#_asctime_sloc4_1_0; Peephole 3.b changed mov to clr clr a mov dps,a movc a,@a+dptr inc dptr inc dps movx @dptr,a dec dps clr a movc a,@a+dptr inc dptr inc dps inc dptr movx @dptr,a dec dps clr a movc a,@a+dptr inc dps inc dptr movx @dptr,a; genCast mov dps, #0x01 mov dptr, #_asctime_sloc6_1_0 dec dps mov dptr, #_asctime_sloc4_1_0; Peephole 224: DPS usage re-arranged. movx a,@dptr inc dps movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 inc dptr mov a,#0x02 movx @dptr,a mov dps, #0x00; genPlus mov a,#0x07 add a,r2 mov r2,a; Peephole 180 changed mov to clr clr a addc a,r3 mov r3,a; Peephole 180 changed mov to clr clr a addc a,r4 mov r4,a; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget mov r2,a; genMult mov b,#0x03 mov a,r2 mul ab mov r2,a mov r3,b; genPlus mov a,r2 add a,#___day mov r2,a mov a,r3 addc a,#(___day >> 8) mov r3,a; Peephole 180 changed mov to clr clr a addc a,#(___day >> 16) mov r4,a; genPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 clr a movc a,@a+dptr inc dptr mov r2,a clr a movc a,@a+dptr inc dptr mov r3,a clr a movc a,@a+dptr mov r4,a; genCast mov r5,#0x02; time.c 92; genCast mov dptr,#_asctime_sloc4_1_0 mov a,#__str_0 movx @dptr,a inc dptr mov a,#(__str_0 >> 8) movx @dptr,a inc dptr mov a,#(__str_0 >> 16) movx @dptr,a inc dptr mov a,#0x02 movx @dptr,a; genCast mov dptr,#_asctime_sloc7_1_0 mov a,#_ascTimeBuffer movx @dptr,a inc dptr mov a,#(_ascTimeBuffer >> 8) movx @dptr,a inc dptr mov a,#(_ascTimeBuffer >> 16) movx @dptr,a inc dptr mov a,#0x01 movx @dptr,a; genIpush push ar6 push ar7; genIpush push ar0 push ar1; genIpush mov dptr,#_asctime_sloc0_1_0 movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc; genIpush mov dptr,#_asctime_sloc2_1_0 movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc; genIpush mov dptr,#_asctime_sloc3_1_0 movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc; genIpush mov dptr,#_asctime_sloc6_1_0 movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc; genIpush push ar2 push ar3 push ar4 push ar5; genIpush mov dptr,#_asctime_sloc4_1_0 movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc; genIpush mov dptr,#_asctime_sloc7_1_0 movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc inc dptr movx a,@dptr; Peephole 100.a removed redundant mov push acc; genCall lcall _sprintf mov a,sp add a,#0xe6 mov sp,a; time.c 96; genRet mov dps, #0x01 mov dptr, #_asctime_sloc7_1_0 movx a,@dptr mov dpl,a inc dptr movx a,@dptr mov dph,a inc dptr movx a,@dptr mov dpx,a inc dptr movx a,@dptr mov b,a mov dps, #0x00; genLabel 00101$:; genEndFunction ret; time.c 99; genFunction ; -----------------------------------------; function ctime; -----------------------------------------_ctime:; time.c 100; genReceive mov r2,dpl mov r3,dph mov r4,dpx mov r5,b; genCall mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall _localtime mov r2,dpl mov r3,dph mov r4,dpx mov r5,b; genCall mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall _asctime mov r2,dpl mov r3,dph mov r4,dpx mov r5,b; genRet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5; genLabel 00101$:; genEndFunction ret; time.c 116; genFunction ; -----------------------------------------; function localtime; -----------------------------------------_localtime:; time.c 117; genReceive mov r2,dpl mov r3,dph mov r4,dpx mov r5,b; genCall mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall _gmtime mov r2,dpl mov r3,dph mov r4,dpx mov r5,b; genRet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5; genLabel 00101$:; genEndFunction ret; time.c 120; genFunction ; -----------------------------------------; function gmtime; -----------------------------------------_gmtime:; time.c 0; genReceive mov r2,dpl mov r3,dph mov r4,dpx mov r5,b; time.c 121; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget mov r2,a inc dptr lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a inc dptr lcall __gptrget mov r5,a; genAssign ; genAssign: resultIsFar = TRUE; time.c 126; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#__modulong_PARM_2 mov a,#0x3C movx @dptr,a clr a inc dptr movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a; genCall push ar2 push ar3 push ar4 push ar5 mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __modulong mov r6,dpl mov r7,dph mov r0,dpx mov r1,b pop ar5 pop ar4 pop ar3 pop ar2; genCast ; genPointerSet mov dptr,#_lastTime mov a,r6 movx @dptr,a; time.c 127; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#__divulong_PARM_2 mov a,#0x3C movx @dptr,a clr a inc dptr movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a; genCall push ar2 push ar3 push ar4 push ar5 mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __divulong mov r6,dpl mov r7,dph mov r0,dpx mov r1,b pop ar5 pop ar4 pop ar3 pop ar2; genAssign ; genAssign: resultIsFar = TRUE mov ar2,r6 mov ar3,r7 mov ar4,r0 mov ar5,r1; time.c 128; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#__modulong_PARM_2 mov a,#0x3C movx @dptr,a clr a inc dptr movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a; genCall push ar2 push ar3 push ar4 push ar5 mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __modulong mov r6,dpl mov r7,dph mov r0,dpx mov r1,b pop ar5 pop ar4 pop ar3 pop ar2; genCast ; genPointerSet mov dptr,#(_lastTime + 0x0001) mov a,r6 movx @dptr,a; time.c 129; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#__divulong_PARM_2 mov a,#0x3C movx @dptr,a clr a inc dptr movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a; genCall push ar2 push ar3 push ar4 push ar5 mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __divulong mov r6,dpl mov r7,dph mov r0,dpx mov r1,b pop ar5 pop ar4 pop ar3 pop ar2; genAssign ; genAssign: resultIsFar = TRUE mov ar2,r6 mov ar3,r7 mov ar4,r0 mov ar5,r1; time.c 130; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#__modulong_PARM_2 mov a,#0x18 movx @dptr,a clr a inc dptr movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a; genCall push ar2 push ar3 push ar4 push ar5 mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __modulong mov r6,dpl mov r7,dph mov r0,dpx mov r1,b pop ar5 pop ar4 pop ar3 pop ar2; genCast ; genPointerSet mov dptr,#(_lastTime + 0x0002) mov a,r6 movx @dptr,a; time.c 131; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#__divulong_PARM_2 mov a,#0x18 movx @dptr,a clr a inc dptr movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a; genCall
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?