;;;----------------------------------------- ;;; Start MC68HC11 gcc assembly output ;;; gcc compiler 3.0.4 m68hc1x-20020203 ;;; Command: /Work/r1.2/usr/lib/gcc-lib/m6811-elf/3.0.4/cc1 -lang-c -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=4 -Dmc68hc1x -D__mc68hc1x__ -D__mc68hc1x -D__CHAR_UNSIGNED__ -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -D__INT__=32 -D__INT_MAX__=2147483647 -Dmc6812 -DMC6812 -Dmc68hc12 string.c -quiet -dumpbase string.c -m68hc12 -O -o string-32-O-h12.s ;;; Compiled: Sat Mar 9 15:59:47 2002 ;;; (META)compiled by GNU C version 2.96 20000731 (Mandrake Linux 8.1 2.96-0.62mdk). ;;;----------------------------------------- .file "string.c" .globl ___strtok .sect .data .type ___strtok,@object .size ___strtok,2 ___strtok: .word 0 .sect .text .globl strcpy .type strcpy,@function strcpy: movw _.frame,2,-sp sts _.frame tfr d,x ldy _.frame ldy 4,y stx _.z .L2: movb 0,y,0,x ldab 0,x iny inx tbne b,.L2 ldd _.z movw 2,sp+,_.frame rts .Lfe1: .size strcpy,.Lfe1-strcpy .globl strncpy .type strncpy,@function strncpy: movw _.frame,2,-sp pshx sts _.frame tfr d,x ldy _.frame stx 0,y .L6: stx _.xy ldx _.frame ldy 8,x dey sty 8,x tfr y,d stx _.z ldx _.xy cpd #-1 beq .L7 ldx _.z ldy 6,x ldx _.xy movb 0,y,0,x ldab 0,x iny ldx _.z sty 6,x ldx _.xy inx tbne b,.L6 .L7: ldx _.frame ldd 0,x pulx movw 2,sp+,_.frame rts .Lfe2: .size strncpy,.Lfe2-strncpy .globl strcat .type strcat,@function strcat: movw _.frame,2,-sp sts _.frame tfr d,x ldy _.frame ldy 4,y stx _.z pshx ldx _.z ldab 0,x pulx beq .L15 .L14: inx tst 0,x bne .L14 .L15: movb 0,y,0,x ldab 0,x iny inx tbne b,.L15 ldd _.z movw 2,sp+,_.frame rts .Lfe3: .size strcat,.Lfe3-strcat .globl strncat .type strncat,@function strncat: movw _.frame,2,-sp pshx sts _.frame tfr d,x ldy _.frame stx 0,y ldd 8,y beq .L19 tfr x,y ldab 0,y beq .L29 .L23: inx tst 0,x bne .L23 .L29: ldy _.frame ldy 6,y movb 0,y,0,x ldab 0,x stx _.xy ldx _.frame ldy 6,x iny stx _.z ldx _.xy bra .L30 .L28: stx _.xy ldx _.frame ldy 8,x dey sty 8,x stx _.z ldx _.xy tbne y,.L24 ldy _.z movb 9,y,0,x bra .L19 .L24: ldy _.frame ldy 6,y movb 0,y,0,x ldab 0,x iny stx _.xy ldx _.frame stx _.z ldx _.xy .L30: stx _.xy ldx _.z sty 6,x ldx _.xy inx tbne b,.L28 .L19: ldx _.frame ldd 0,x pulx movw 2,sp+,_.frame rts .Lfe4: .size strncat,.Lfe4-strncat .globl strcmp .type strcmp,@function strcmp: movw _.frame,2,-sp pshx sts _.frame tfr d,y ldx _.frame ldx 6,x .L37: stx _.xy ldx _.frame movb 0,y,1,x ldab 1,x stx _.z ldx _.xy subb 0,x sty _.xy ldy _.z stab 0,y inx ldy _.xy tbne b,.L33 iny stx _.xy ldx _.z ldab 1,x ldx _.xy tbne b,.L37 .L33: ldy _.frame ldab 0,y sex b,d sex a,x puly movw 2,sp+,_.frame rts .Lfe5: .size strcmp,.Lfe5-strcmp .globl strncmp .type strncmp,@function strncmp: movw _.frame,2,-sp pshx pshx sts _.frame ldx _.frame std 2,x ldx 10,x ldy _.frame clr 0,y tbeq x,.L40 .L44: stx _.xy ldx _.frame ldy 2,x movb 0,y,1,x ldab 1,x ldy 8,x subb 0,y stab 0,x iny sty 8,x stx _.z ldx _.xy tbne b,.L40 ldx _.z ldy 2,x iny sty 2,x ldab 1,x ldx _.xy tbeq b,.L40 dex tbne x,.L44 .L40: ldy _.frame ldab 0,y sex b,d sex a,x puly puly movw 2,sp+,_.frame rts .Lfe6: .size strncmp,.Lfe6-strncmp .globl strchr .type strchr,@function strchr: movw _.frame,2,-sp sts _.frame tfr d,x bra .L53 .L51: tst 0,x bne .L48 clra clrb bra .L45 .L48: inx .L53: ldab 0,x ldy _.frame cmpb 7,y bne .L51 tfr x,d .L45: movw 2,sp+,_.frame rts .Lfe7: .size strchr,.Lfe7-strchr ; extern strlen .globl strrchr .type strrchr,@function strrchr: movw _.frame,2,-sp pshx sts _.frame ldx _.frame std 0,x bsr strlen ldy _.frame ldx 0,y leax d,x .L55: ldab 0,x ldy _.frame cmpb 9,y bne .L57 tfr x,d bra .L54 .L57: dex ldy _.frame cpx 0,y bhs .L55 clra clrb .L54: pulx movw 2,sp+,_.frame rts .Lfe8: .size strrchr,.Lfe8-strrchr .globl strlen .type strlen,@function strlen: movw _.frame,2,-sp sts _.frame tfr d,y tfr y,x ldab 0,y beq .L66 .L63: inx tst 0,x bne .L63 .L66: sty _.tmp xgdx subd _.tmp ldx #0 movw 2,sp+,_.frame rts .Lfe9: .size strlen,.Lfe9-strlen .globl strnlen .type strnlen,@function strnlen: movw _.frame,2,-sp sts _.frame tfr d,y ldx _.frame ldd 4,x tfr y,x addd #-1 cpd #-1 beq .L69 tst 0,y beq .L69 .L70: inx addd #-1 cpd #-1 beq .L69 tst 0,x bne .L70 .L69: sty _.tmp xgdx subd _.tmp ldx #0 movw 2,sp+,_.frame rts .Lfe10: .size strnlen,.Lfe10-strnlen .globl strspn .type strspn,@function strspn: movw _.frame,2,-sp pshx sts _.frame ldx _.frame clr 1,x clr 0,x tfr d,x ldab 0,x beq .L87 .L86: ldy _.frame ldy 6,y tst 0,y beq .L87 ldab 0,x .L84: cmpb 0,y beq .L80 iny tst 0,y bne .L84 .L80: tst 0,y beq .L87 stx _.xy ldx _.frame ldy 0,x iny sty 0,x ldx _.xy inx tst 0,x bne .L86 .L87: ldy _.frame ldd 0,y ldx #0 puly movw 2,sp+,_.frame rts .Lfe11: .size strspn,.Lfe11-strspn .globl strpbrk .type strpbrk,@function strpbrk: movw _.frame,2,-sp sts _.frame ldx _.frame ldy 4,x sty _.z tfr d,y ldab 0,y beq .L102 .L101: ldx _.z tst 0,x beq .L103 ldab 0,y .L100: cmpb 0,x bne .L97 tfr y,d bra .L90 .L97: inx tst 0,x bne .L100 .L103: iny tst 0,y bne .L101 .L102: clra clrb .L90: movw 2,sp+,_.frame rts .Lfe12: .size strpbrk,.Lfe12-strpbrk .globl strtok .type strtok,@function strtok: movw _.frame,2,-sp pshx sts _.frame ldx _.frame std 0,x bne .L106 movw ___strtok,0,x ldd 0,x beq .L104 .L106: ldx _.frame movw 6,x,2,-sp ldd 0,x bsr strspn ldx _.frame addd 0,x std 0,x leas 2,sp tfr d,x ldab 0,x bne .L107 clr ___strtok+1 clr ___strtok clra clrb bra .L104 .L107: ldx _.frame movw 6,x,2,-sp ldd 0,x bsr strpbrk tfr d,x leas 2,sp tbeq x,.L108 ldab 0,x beq .L108 clr 0,x inx .L108: stx ___strtok ldx _.frame ldd 0,x .L104: pulx movw 2,sp+,_.frame rts .Lfe13: .size strtok,.Lfe13-strtok .globl memset .type memset,@function memset: movw _.frame,2,-sp sts _.frame tfr d,y ldx _.frame ldd 6,x tfr y,x bra .L115 .L113: sty _.xy ldy _.frame movb 5,y,0,x ldy _.xy inx .L115: addd #-1 cpd #-1 bne .L113 tfr y,d movw 2,sp+,_.frame rts .Lfe14: .size memset,.Lfe14-memset .globl bcopy .type bcopy,@function bcopy: movw _.frame,2,-sp leas -8,sp sts _.frame ldx _.frame std 2,x movw 12,x,0,x ldy _.frame ldd 16,y ldx 14,y subd #1 bcc .L124 dex .L124: std 6,y stx 4,y bra .L123 .L121: ldy _.frame ldx 0,y stx _.z ldx 2,y sty _.xy ldy _.z movb 0,x,0,y ldy _.xy inx stx 2,y ldx 0,y inx stx 0,y ldd 6,y subd #1 std 6,y bcc .L125 ldd 4,y addd #-1 std 4,y .L125: .L123: ldd 4,y cpd #-1 bne .L121 ldd 6,y cpd #-1 bne .L121 ldy _.frame ldd 12,y leas 8,sp movw 2,sp+,_.frame rts .Lfe15: .size bcopy,.Lfe15-bcopy .globl memcpy .type memcpy,@function memcpy: movw _.frame,2,-sp pshx sts _.frame ldx _.frame std 0,x ldd 8,x ldy 0,x ldx 6,x bra .L132 .L130: movb 0,x,0,y inx iny .L132: addd #-1 cpd #-1 bne .L130 ldx _.frame ldd 0,x pulx movw 2,sp+,_.frame rts .Lfe16: .size memcpy,.Lfe16-memcpy .globl memmove .type memmove,@function memmove: movw _.frame,2,-sp leas -6,sp sts _.frame ldx _.frame std 0,x ldy 12,x cpd 10,x bhi .L134 std _.z ldd 10,x dey cpy #-1 beq .L139 .L138: tfr d,x pshb ldab 0,x stab _.tmp+1 ldx _.tmp pulb sty _.xy ldy _.z xgdx stab 0,y xgdx addd #1 iny sty _.z ldy _.xy dey cpy #-1 bne .L138 bra .L139 .L134: ldx _.frame sty 4,x clr 3,x clr 2,x sty _.xy ldy 0,x ldd _.xy leay d,y ldd 10,x addd 4,x sty _.z ldy _.xy bra .L144 .L143: sty _.xy ldy _.z dey addd #-1 tfr d,x pshb ldab 0,x stab _.tmp+1 ldx _.tmp pulb xgdx stab 0,y xgdx sty _.z ldy _.xy .L144: dey cpy #-1 bne .L143 .L139: ldx _.frame ldd 0,x leas 6,sp movw 2,sp+,_.frame rts .Lfe17: .size memmove,.Lfe17-memmove .globl memcmp .type memcmp,@function memcmp: movw _.frame,2,-sp leas -5,sp sts _.frame ldy _.frame ldx 11,y clr 0,y std 3,y movw 9,y,1,y tbeq x,.L147 .L151: stx _.xy ldx _.frame ldx 3,x ldab 0,x ldx _.xy ldy _.frame ldy 1,y subb 0,y ldy _.frame stab 0,y bne .L147 ldx _.frame ldy 3,x iny sty 3,x ldy 1,x iny sty 1,x ldx _.xy dex tbne x,.L151 .L147: ldx _.frame ldab 0,x sex b,d sex a,x leas 5,sp movw 2,sp+,_.frame rts .Lfe18: .size memcmp,.Lfe18-memcmp .globl memscan .type memscan,@function memscan: movw _.frame,2,-sp sts _.frame tfr d,y ldx _.frame ldx 8,x beq .L159 .L158: ldx #0 clra ldab 0,y stx _.xy ldx _.frame stx _.z ldx _.xy pshy ldy _.z cpx 4,y puly bne .L156 pshx ldx _.z cpd 6,x pulx beq .L159 .L156: iny sty _.xy ldy _.frame ldx 8,y dex stx 8,y ldy _.xy tbne x,.L158 .L159: tfr y,d movw 2,sp+,_.frame rts .Lfe19: .size memscan,.Lfe19-memscan .globl strstr .type strstr,@function strstr: movw _.frame,2,-sp leas -10,sp sts _.frame ldx _.frame std 0,x ldd 14,x bsr strlen ldy _.frame std 8,y clr 7,y clr 6,y ldx #0 bne .L161 tbne d,.L161 ldd 0,y bra .L160 .L170: ldy _.frame ldd 0,y bra .L160 .L161: ldx _.frame ldd 0,x bsr strlen ldy _.frame std 4,y clr 3,y clr 2,y bra .L171 .L169: ldy _.frame ldd 4,y subd #1 std 4,y bcc .L172 ldd 2,y addd #-1 std 2,y .L172: movw 8,y,2,-sp movw 14,y,2,-sp ldd 0,y bsr memcmp leas 4,sp tbne x,.L167 tbeq d,.L170 .L167: ldy _.frame ldx 0,y inx stx 0,y .L171: ldd 2,y cpd 6,y bgt .L169 blt .L164 ldd 4,y cpd 8,y bhs .L169 .L164: clra clrb .L160: leas 10,sp movw 2,sp+,_.frame rts .Lfe20: .size strstr,.Lfe20-strstr .ident "GCC: (GNU) 3.0.4 m68hc1x-20020203"