setjmp.s - scc - simple c99 compiler
 (HTM) git clone git://git.simple-cc.org/scc
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
       setjmp.s (868B)
       ---
            1         .file        "setjmp.s"
            2         .text
            3         .global        setjmp
            4 
            5 setjmp:
            6         /*
            7          * 0) store IP int 0,
            8          *    then into the jmpbuf
            9          *    pointed to by r3 (first arg)
           10          */
           11         mflr        0
           12         stw        0,0(3)
           13         /* 1) store reg1 (SP) */
           14         stw        1,4(3)
           15         /* 2) store cr */
           16         mfcr        0
           17         stw        0,8(3)
           18         /* 3) store r14-31 */
           19         stw        14,12(3)
           20         stw        15,16(3)
           21         stw        16,20(3)
           22         stw        17,24(3)
           23         stw        18,28(3)
           24         stw        19,32(3)
           25         stw        20,36(3)
           26         stw        21,40(3)
           27         stw        22,44(3)
           28         stw        23,48(3)
           29         stw        24,52(3)
           30         stw        25,56(3)
           31         stw        26,60(3)
           32         stw        27,64(3)
           33         stw        28,68(3)
           34         stw        29,72(3)
           35         stw        30,76(3)
           36         stw        31,80(3)
           37         stfd        14,88(3)
           38         stfd        15,96(3)
           39         stfd        16,104(3)
           40         stfd        17,112(3)
           41         stfd        18,120(3)
           42         stfd        19,128(3)
           43         stfd        20,136(3)
           44         stfd        21,144(3)
           45         stfd        22,152(3)
           46         stfd        23,160(3)
           47         stfd        24,168(3)
           48         stfd        25,176(3)
           49         stfd        26,184(3)
           50         stfd        27,192(3)
           51         stfd        28,200(3)
           52         stfd        29,208(3)
           53         stfd        30,216(3)
           54         stfd        31,224(3)
           55 
           56         /* 4) set return value to 0 */
           57         li        3,0
           58 
           59         /* 5) return */
           60         blr