# RS6000RegisterSaveRestore.S # Save and restore all the global registers on a SPARC. # # Peter B. Kessler, November 15, 1989 5:42:14 pm PST # Makoto Udagawa, 17-Sep-91 19:23:11 # Katsuyuki Komatsu, March 17, 1992 1:11:00 pm PST # .globl save_regs[ds] .csect save_regs[ds] .long .save_regs[PR] .long TOC[tc0] .long 0 .toc T.save_regs: .tc save_regs[tc],save_regs[ds] .globl .save_regs[PR] .csect .save_regs[PR] .save_regs: mfmq 31 mfxer 30 mfctr 29 mfcr 28 stm 28, 248(1) # save special registers brl # just a null function .globl restore_regs[ds] .csect restore_regs[ds] .long .restore_regs[PR] .long TOC[tc0] .long 0 .toc T.restore_regs: .tc restore_regs[tc],restore_regs[ds] .globl .restore_regs[PR] .csect .restore_regs[PR] .restore_regs: lm 28, 248(1) # load special registers mtmq 31 mtxer 30 mtctr 29 mtcrf 0xff, 28 brl # just a null function