Annotation of 42BSD/games/compat/compat.s, revision 1.1.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.