; generated by Norcroft RISC OS ARM C vsn 5.30 [08 Mar 2001]

        AREA |C$$code|, CODE, READONLY
|x$codeseg|

        DCB     &6d,&6f,&74,&69
        DCB     &6f,&6e,&5f,&63
        DCB     &6f,&6d,&70,&5f
        DCB     &69,&6e,&69,&74
        DCB     &00,&00,&00,&00
        DCD     &ff000014

        IMPORT  __rt_stkovf_split_small
        IMPORT  _fprintf
        EXPORT  motion_comp_init
motion_comp_init
        MOV      ip,sp
        STMDB    sp!,{fp,ip,lr,pc}
        SUB      fp,ip,#4
        CMP      sp,sl
        BLLT     __rt_stkovf_split_small
        LDR      a1,[pc, #L000064-.-8]
        ADD      a2,pc,#L000068-.-8
        BL       _fprintf
        LDR      a1,[pc, #L000094-.-8]
        LDR      lr,[pc, #L000098-.-8]
        LDMIA    lr!,{a2-a4,ip}
        STMIA    a1!,{a2-a4,ip}
        LDMIA    lr!,{a2-a4,ip}
        STMIA    a1!,{a2-a4,ip}
        LDMIA    lr!,{a2-a4,ip}
        STMIA    a1!,{a2-a4,ip}
        LDMIA    lr,{a2-a4,ip}
        STMIA    a1,{a2-a4,ip}
        LDMDB    fp,{fp,sp,pc}
L000064
        IMPORT  __iob
        DCD     __iob+&50
L000068
        DCB     &4e,&6f,&20,&61
        DCB     &63,&63,&65,&6c
        DCB     &65,&72,&61,&74
        DCB     &65,&64,&20,&6d
        DCB     &6f,&74,&69,&6f
        DCB     &6e,&20,&63,&6f
        DCB     &6d,&70,&65,&6e
        DCB     &73,&61,&74,&69
        DCB     &6f,&6e,&20,&66
        DCB     &6f,&75,&6e,&64
        DCB     &0a,&00,&00,&00
L000094
        DCD     mc_functions
L000098
        EXPORT  mc_functions_c
        DCD     mc_functions_c

MC_put_16_c
        STR      lr,[sp,#-4]!
|L0000a0.J4.MC_put_16_c|
        MOV      ip,#0
|L0000a4.J5.MC_put_16_c|
        LDRB     lr,[a2,ip]
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L0000a4.J5.MC_put_16_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L0000a0.J4.MC_put_16_c|
        LDR      pc,[sp],#4

MC_put_8_c
        STR      lr,[sp,#-4]!
|L0000d0.J4.MC_put_8_c|
        MOV      ip,#0
|L0000d4.J5.MC_put_8_c|
        LDRB     lr,[a2,ip]
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L0000d4.J5.MC_put_8_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L0000d0.J4.MC_put_8_c|
        LDR      pc,[sp],#4

MC_avg_16_c
        STMDB    sp!,{v1,lr}
|L000100.J4.MC_avg_16_c|
        MOV      ip,#0
|L000104.J5.MC_avg_16_c|
        LDRB     lr,[a2,ip]
        LDRB     v1,[a1,ip]
        ADD      lr,lr,v1
        ADD      lr,lr,#1
        MOV      lr,lr,ASR #1
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L000104.J5.MC_avg_16_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000100.J4.MC_avg_16_c|
        LDMIA    sp!,{v1,pc}

MC_avg_8_c
        STMDB    sp!,{v1,lr}
|L000140.J4.MC_avg_8_c|
        MOV      ip,#0
|L000144.J5.MC_avg_8_c|
        LDRB     lr,[a2,ip]
        LDRB     v1,[a1,ip]
        ADD      lr,lr,v1
        ADD      lr,lr,#1
        MOV      lr,lr,ASR #1
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L000144.J5.MC_avg_8_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000140.J4.MC_avg_8_c|
        LDMIA    sp!,{v1,pc}

MC_put_x16_c
        STMDB    sp!,{v1,lr}
|L000180.J4.MC_put_x16_c|
        MOV      ip,#0
|L000184.J5.MC_put_x16_c|
        LDRB     lr,[a2,ip]
        ADD      v1,a2,ip
        LDRB     v1,[v1,#1]
        ADD      lr,lr,v1
        ADD      lr,lr,#1
        MOV      lr,lr,ASR #1
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L000184.J5.MC_put_x16_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000180.J4.MC_put_x16_c|
        LDMIA    sp!,{v1,pc}

MC_put_x8_c
        STMDB    sp!,{v1,lr}
|L0001c4.J4.MC_put_x8_c|
        MOV      ip,#0
|L0001c8.J5.MC_put_x8_c|
        LDRB     lr,[a2,ip]
        ADD      v1,a2,ip
        LDRB     v1,[v1,#1]
        ADD      lr,lr,v1
        ADD      lr,lr,#1
        MOV      lr,lr,ASR #1
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L0001c8.J5.MC_put_x8_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L0001c4.J4.MC_put_x8_c|
        LDMIA    sp!,{v1,pc}

MC_avg_x16_c
        STMDB    sp!,{v1,lr}
|L000208.J4.MC_avg_x16_c|
        MOV      ip,#0
|L00020c.J5.MC_avg_x16_c|
        LDRB     lr,[a2,ip]
        ADD      v1,a2,ip
        LDRB     v1,[v1,#1]
        ADD      lr,lr,v1
        ADD      lr,lr,#1
        LDRB     v1,[a1,ip]
        ADD      lr,v1,lr,ASR #1
        ADD      lr,lr,#1
        MOV      lr,lr,ASR #1
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L00020c.J5.MC_avg_x16_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000208.J4.MC_avg_x16_c|
        LDMIA    sp!,{v1,pc}

MC_avg_x8_c
        STMDB    sp!,{v1,lr}
|L000258.J4.MC_avg_x8_c|
        MOV      ip,#0
|L00025c.J5.MC_avg_x8_c|
        LDRB     lr,[a2,ip]
        ADD      v1,a2,ip
        LDRB     v1,[v1,#1]
        ADD      lr,lr,v1
        ADD      lr,lr,#1
        LDRB     v1,[a1,ip]
        ADD      lr,v1,lr,ASR #1
        ADD      lr,lr,#1
        MOV      lr,lr,ASR #1
        STRB     lr,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L00025c.J5.MC_avg_x8_c|
        ADD      a2,a2,a3
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000258.J4.MC_avg_x8_c|
        LDMIA    sp!,{v1,pc}

MC_put_y16_c
        STMDB    sp!,{v1,v2,lr}
|L0002a8.J4.MC_put_y16_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L0002b0.J5.MC_put_y16_c|
        LDRB     v1,[a2,ip]
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v1,v1,#1
        MOV      v1,v1,ASR #1
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L0002b0.J5.MC_put_y16_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L0002a8.J4.MC_put_y16_c|
        LDMIA    sp!,{v1,v2,pc}

MC_put_y8_c
        STMDB    sp!,{v1,v2,lr}
|L0002ec.J4.MC_put_y8_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L0002f4.J5.MC_put_y8_c|
        LDRB     v1,[a2,ip]
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v1,v1,#1
        MOV      v1,v1,ASR #1
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L0002f4.J5.MC_put_y8_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L0002ec.J4.MC_put_y8_c|
        LDMIA    sp!,{v1,v2,pc}

MC_avg_y16_c
        STMDB    sp!,{v1,v2,lr}
|L000330.J4.MC_avg_y16_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L000338.J5.MC_avg_y16_c|
        LDRB     v1,[a2,ip]
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v1,v1,#1
        LDRB     v2,[a1,ip]
        ADD      v1,v2,v1,ASR #1
        ADD      v1,v1,#1
        MOV      v1,v1,ASR #1
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L000338.J5.MC_avg_y16_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000330.J4.MC_avg_y16_c|
        LDMIA    sp!,{v1,v2,pc}

MC_avg_y8_c
        STMDB    sp!,{v1,v2,lr}
|L000380.J4.MC_avg_y8_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L000388.J5.MC_avg_y8_c|
        LDRB     v1,[a2,ip]
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v1,v1,#1
        LDRB     v2,[a1,ip]
        ADD      v1,v2,v1,ASR #1
        ADD      v1,v1,#1
        MOV      v1,v1,ASR #1
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L000388.J5.MC_avg_y8_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000380.J4.MC_avg_y8_c|
        LDMIA    sp!,{v1,v2,pc}

MC_put_xy16_c
        STMDB    sp!,{v1,v2,lr}
|L0003d0.J4.MC_put_xy16_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L0003d8.J5.MC_put_xy16_c|
        LDRB     v1,[a2,ip]
        ADD      v2,a2,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v2,lr,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        ADD      v1,v1,#2
        MOV      v1,v1,ASR #2
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L0003d8.J5.MC_put_xy16_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L0003d0.J4.MC_put_xy16_c|
        LDMIA    sp!,{v1,v2,pc}

MC_put_xy8_c
        STMDB    sp!,{v1,v2,lr}
|L00042c.J4.MC_put_xy8_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L000434.J5.MC_put_xy8_c|
        LDRB     v1,[a2,ip]
        ADD      v2,a2,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v2,lr,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        ADD      v1,v1,#2
        MOV      v1,v1,ASR #2
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L000434.J5.MC_put_xy8_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L00042c.J4.MC_put_xy8_c|
        LDMIA    sp!,{v1,v2,pc}

MC_avg_xy16_c
        STMDB    sp!,{v1,v2,lr}
|L000488.J4.MC_avg_xy16_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L000490.J5.MC_avg_xy16_c|
        LDRB     v1,[a2,ip]
        ADD      v2,a2,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v2,lr,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        ADD      v1,v1,#2
        LDRB     v2,[a1,ip]
        ADD      v1,v2,v1,ASR #2
        ADD      v1,v1,#1
        MOV      v1,v1,ASR #1
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#&10
        BLT      |L000490.J5.MC_avg_xy16_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L000488.J4.MC_avg_xy16_c|
        LDMIA    sp!,{v1,v2,pc}

MC_avg_xy8_c
        STMDB    sp!,{v1,v2,lr}
|L0004f0.J4.MC_avg_xy8_c|
        MOV      ip,#0
        ADD      lr,a2,a3
|L0004f8.J5.MC_avg_xy8_c|
        LDRB     v1,[a2,ip]
        ADD      v2,a2,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        LDRB     v2,[lr,ip]
        ADD      v1,v1,v2
        ADD      v2,lr,ip
        LDRB     v2,[v2,#1]
        ADD      v1,v1,v2
        ADD      v1,v1,#2
        LDRB     v2,[a1,ip]
        ADD      v1,v2,v1,ASR #2
        ADD      v1,v1,#1
        MOV      v1,v1,ASR #1
        STRB     v1,[a1,ip]
        ADD      ip,ip,#1
        CMP      ip,#8
        BLT      |L0004f8.J5.MC_avg_xy8_c|
        MOV      a2,lr
        ADD      a1,a1,a3
        SUBS     a4,a4,#1
        BNE      |L0004f0.J4.MC_avg_xy8_c|
        LDMIA    sp!,{v1,v2,pc}

        AREA |C$$data|,DATA

|x$dataseg|

        EXPORT  mc_functions
mc_functions
        %       32
        %       32

mc_functions_c
        DCD     MC_put_16_c
        DCD     MC_put_x16_c
        DCD     MC_put_y16_c
        DCD     MC_put_xy16_c
        DCD     MC_put_8_c
        DCD     MC_put_x8_c
        DCD     MC_put_y8_c
        DCD     MC_put_xy8_c
        DCD     MC_avg_16_c
        DCD     MC_avg_x16_c
        DCD     MC_avg_y16_c
        DCD     MC_avg_xy16_c
        DCD     MC_avg_8_c
        DCD     MC_avg_x8_c
        DCD     MC_avg_y8_c
        DCD     MC_avg_xy8_c

        END
