Annotation of 42BSD/games/compat/compat.s, revision 1.1

1.1     ! root        1: .data 0
        !             2:        .asciz "        compat.s        4.1     82/05/12        "
        !             3: .text
        !             4:        .globl _regs
        !             5:        .globl _psl
        !             6:        .globl _pc
        !             7:        .globl _compat
        !             8: _compat:
        !             9:        .word 0x0000
        !            10: # fixup stack by doing rets from compat and the function
        !            11: # which called it but modifying frame pc's to stay here
        !            12:        moval l0,16(fp) # fix first return address
        !            13:        ret
        !            14: l0:    moval l1,16(fp) # fix first return address
        !            15:        ret
        !            16: l1:    moval l2,16(fp) # fix next return address
        !            17:        ret
        !            18: l2:    movl _psl,4(sp)
        !            19:        movl _pc,(sp)
        !            20: # copy back saved register values
        !            21:        movw _regs,r0
        !            22:        movw _regs+02,r1
        !            23:        movw _regs+04,r2
        !            24:        movw _regs+06,r3
        !            25:        movw _regs+010,r4
        !            26:        movw _regs+012,r5
        !            27:        movw _regs+014,r6
        !            28: # go to compatability mode with rei assuming correct psl is setup
        !            29:        rei
        !            30:        .globl _getregs
        !            31: _getregs:
        !            32:        .word 0
        !            33: # copy registers into known locations for examination or modification
        !            34:        movw r0,_regs
        !            35:        movw r1,_regs+02
        !            36:        movw r2,_regs+04
        !            37:        movw r3,_regs+06
        !            38:        movw r4,_regs+010
        !            39:        movw r5,_regs+012
        !            40:        movw r6,_regs+014
        !            41:        ret

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.