# Copyright (C) 2007 Criterion Software Limited and its licensors.  All Rights Reserved.    
    
    .section .text
    .global _ZN2EA4Jobs5PrintEPKcz
    .align 3
    .global _ZN2EA4Jobs5PrintEPKcz
    .type _ZN2EA4Jobs5PrintEPKcz, @function

_ZN2EA4Jobs5PrintEPKcz:

        rchcnt $2,    $ch29
        brnz   $2,    _return_error

        # store args into memory
        stqd   $3,    -256($1)
        stqd   $4,    -240($1)
        stqd   $5,    -224($1)
        stqd   $6,    -208($1)
        stqd   $7,    -192($1)
        stqd   $8,    -176($1)
        stqd   $9,    -160($1)
        stqd   $10,   -144($1)
        stqd   $11,   -128($1)
        stqd   $12,   -112($1)
        stqd   $13,   -96($1)
        stqd   $14,   -80($1)
        stqd   $15,   -64($1)
        stqd   $16,   -48($1)
        stqd   $17,   -32($1)
        stqd   $18,   -16($1)

        # set $2 to address of args, $2 is 0 to start with so adding is fine.
        ai     $2,    $1, -256

        # set $3 to indicate port 1
        ilhu   $3,    256

        # send address via mail box
        wrch   $ch28, $2

        # wait for stores to finish
        dsync

        # send port 1 event via interrupt mail box
        wrch   $ch30, $3

        # wait for event ack
        rdch   $3,    $ch29

        # event error
        brnz   $3,    _return_error

        # wait for printf result
        rdch   $3,    $ch29

        # return
        bi     $0

_return_error:
        il     $3,    -10
        bi     $0

