📄 malloc.asm
字号:
; genLabel 00109$:; malloc.c 90; genIfx mov dptr,#_malloc_sloc0_1_0 push b movx a,@dptr mov b, a inc dptr movx a,@dptr orl b,a mov a,b pop b; genIfxJump jz 00125$ ljmp 00111$00125$:; malloc.c 92; genPointerSet mov dptr,#_malloc_sloc1_1_0; genFarPointerSet -- 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, #_malloc_size_1_1 movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a; malloc.c 93; genPlus mov dptr,#_malloc_sloc2_1_0 mov a,#0x08 add a,r4 movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r5 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r6 inc dptr movx @dptr,a; genCast mov dptr,#_malloc_sloc2_1_0 mov dps, #0x01 mov dptr, #_malloc_sloc1_1_0 dec dps 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; genRet ; Peephole 220a removed bogus DPS set mov dps, #0x01 mov dptr, #_malloc_sloc1_1_0 movx a,@dptr mov dpl,a inc dptr movx a,@dptr mov dph,a inc dptr movx a,@dptr mov dpx,a mov dps, #0x00 ljmp 00114$; genLabel 00111$:; malloc.c 95; genPlus mov dptr,#_malloc_sloc0_1_0 mov dps, #0x01 mov dptr, #_malloc_new_header_1_1 dec dps movx a,@dptr add a,r4 inc dps movx @dptr,a dec dps inc dptr movx a,@dptr addc a,r5 inc dps inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r6 inc dptr movx @dptr,a mov dps, #0x00; malloc.c 96; genPointerSet mov dptr,#_malloc_new_header_1_1; genFarPointerSet -- 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 a,r7 movx @dptr,a inc dptr mov a,r0 movx @dptr,a inc dptr mov a,r1 movx @dptr,a; malloc.c 97; genPlus mov dptr,#_malloc_new_header_1_1 mov dps, #0x01 mov dptr, #_malloc_sloc2_1_0 dec dps; Swapped plus args. movx a,@dptr add a,#0x03 inc dps movx @dptr,a dec dps inc dptr movx a,@dptr addc a,#0x00 inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr addc a,#0x00 inc dps inc dptr movx @dptr,a mov dps, #0x00; genPointerSet mov dptr,#_malloc_sloc2_1_0; genFarPointerSet -- 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 a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a inc dptr mov a,r6 movx @dptr,a; malloc.c 98; genPointerSet mov dpl,r4 mov dph,r5 mov dpx,r6 mov dps, #0x01 mov dptr, #_malloc_new_header_1_1 movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a; malloc.c 99; genIfx mov a,r7 orl a,r0 orl a,r1; genIfxJump jnz 00126$ ljmp 00113$00126$:; genPointerGet ; genFarPointerGet mov dptr,#_malloc_new_header_1_1; genFarPointerGet -- 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 movx a,@dptr inc dptr mov r2,a movx a,@dptr inc dptr mov r3,a movx a,@dptr mov r4,a; genPlus mov a,#0x03 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; genPointerSet mov dpl,r2 mov dph,r3 mov dpx,r4 mov dps, #0x01 mov dptr, #_malloc_new_header_1_1 movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a; genLabel 00113$:; malloc.c 100; genPlus mov dptr,#_malloc_new_header_1_1; Swapped plus args. movx a,@dptr add a,#0x06 mov r2,a inc dptr movx a,@dptr addc a,#0x00 mov r3,a inc dptr movx a,@dptr addc a,#0x00 mov r4,a; genPointerSet mov dpl,r2 mov dph,r3 mov dpx,r4 mov dps, #0x01 mov dptr, #_malloc_size_1_1 movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a; malloc.c 101; genPlus mov dptr,#_malloc_new_header_1_1; Swapped plus args. movx a,@dptr add a,#0x08 mov r2,a inc dptr movx a,@dptr addc a,#0x00 mov r3,a inc dptr movx a,@dptr addc a,#0x00 mov r4,a; genCast ; genRet mov dpl,r2 mov dph,r3 mov dpx,r4; genLabel 00114$:; genEndFunction ret; malloc.c 104; genFunction ; -----------------------------------------; function free; -----------------------------------------_free:; malloc.c 0; genReceive mov r2,dpl mov r3,dph mov r4,dpx; malloc.c 107; genIfx mov a,r2 orl a,r3 orl a,r4; genIfxJump jnz 00113$ ljmp 00108$00113$:; malloc.c 109; genMinus mov a,r2 add a,#0xf8 mov r5,a mov a,r3 addc a,#0xff mov r6,a mov a,r4 addc a,#0xff mov r7,a; genAssign ; genAssign: resultIsFar = TRUE mov ar2,r5 mov ar3,r6 mov ar4,r7; malloc.c 110; genPlus mov a,#0x03 add a,r2 mov r5,a; Peephole 180 changed mov to clr clr a addc a,r3 mov r6,a; Peephole 180 changed mov to clr clr a addc a,r4 mov r7,a; genPointerGet ; genFarPointerGet mov dpl,r5 mov dph,r6 mov dpx,r7 movx a,@dptr inc dptr mov r5,a movx a,@dptr inc dptr mov r6,a movx a,@dptr mov r7,a; genIfx mov a,r5 orl a,r6 orl a,r7; genIfxJump jnz 00114$ ljmp 00104$00114$:; malloc.c 112; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_free_prev_header_1_1 mov a,r5 movx @dptr,a inc dptr mov a,r6 movx @dptr,a inc dptr mov a,r7 movx @dptr,a; malloc.c 113; genPointerGet ; genFarPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 movx a,@dptr inc dptr mov r0,a movx a,@dptr inc dptr mov r1,a movx a,@dptr mov r5,a; genPointerSet mov dptr,#_free_prev_header_1_1; genFarPointerSet -- 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 a,r0 movx @dptr,a inc dptr mov a,r1 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; malloc.c 114; genIfx mov a,r0 orl a,r1 orl a,r5; genIfxJump jnz 00115$ ljmp 00108$00115$:; genPlus mov a,#0x03 add a,r0 mov r0,a; Peephole 180 changed mov to clr clr a addc a,r1 mov r1,a; Peephole 180 changed mov to clr clr a addc a,r5 mov r5,a; genPointerSet mov dpl,r0 mov dph,r1 mov dpx,r5 mov dps, #0x01 mov dptr, #_free_prev_header_1_1 movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a inc dptr inc dps inc dptr movx a,@dptr dec dps movx @dptr,a; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00108$00104$:; malloc.c 116; genPlus mov a,#0x06 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; genPointerSet mov dpl,r2 mov dph,r3 mov dpx,r4; Peephole 101 removed redundant mov; Peephole 180 changed mov to clr clr a movx @dptr,a inc dptr movx @dptr,a; genLabel 00108$:; genEndFunction ret .area CSEG (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -