1/* Assembly helper routines for the emulation SRM console. 2 3 Copyright (C) 2011 Richard Henderson 4 5 This file is part of QEMU PALcode. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the text 15 of the GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; see the file COPYING. If not see 19 <http://www.gnu.org/licenses/>. */ 20 21 .set nomacro 22 .set noat 23 .text 24 .cfi_sections .debug_frame 25 26#define SAVE_ALL_SIZE (18*8) 27 28 .globl entInt 29 .type entInt, @function 30 .cfi_startproc simple 31entInt: 32 .cfi_return_column 64 33 .cfi_def_cfa $sp, 48 34 .cfi_rel_offset 64, 8 35 .cfi_rel_offset $gp, 16 36 .cfi_rel_offset $16, 24 37 .cfi_rel_offset $17, 32 38 .cfi_rel_offset $18, 40 39 lda $sp, -SAVE_ALL_SIZE($sp) 40 .cfi_adjust_cfa_offset SAVE_ALL_SIZE 41 stq $0, 0*8($sp) 42 stq $1, 1*8($sp) 43 stq $2, 2*8($sp) 44 stq $3, 3*8($sp) 45 stq $4, 4*8($sp) 46 stq $5, 5*8($sp) 47 stq $6, 6*8($sp) 48 stq $7, 7*8($sp) 49 stq $8, 9*8($sp) 50 stq $19, 9*8($sp) 51 stq $20, 10*8($sp) 52 stq $21, 11*8($sp) 53 stq $22, 12*8($sp) 54 stq $23, 13*8($sp) 55 stq $24, 14*8($sp) 56 stq $25, 15*8($sp) 57 stq $26, 16*8($sp) 58 stq $27, 17*8($sp) 59 stq $28, 18*8($sp) 60 .cfi_rel_offset $0, 0*8 61 .cfi_rel_offset $1, 1*8 62 .cfi_rel_offset $2, 2*8 63 .cfi_rel_offset $3, 3*8 64 .cfi_rel_offset $4, 4*8 65 .cfi_rel_offset $5, 5*8 66 .cfi_rel_offset $6, 6*8 67 .cfi_rel_offset $7, 7*8 68 .cfi_rel_offset $8, 8*8 69 .cfi_rel_offset $19, 9*8 70 .cfi_rel_offset $20, 10*8 71 .cfi_rel_offset $21, 11*8 72 .cfi_rel_offset $22, 12*8 73 .cfi_rel_offset $23, 13*8 74 .cfi_rel_offset $24, 14*8 75 .cfi_rel_offset $25, 15*8 76 .cfi_rel_offset $26, 16*8 77 .cfi_rel_offset $27, 17*8 78 .cfi_rel_offset $28, 18*8 79 80 bsr $26, do_entInt !samegp 81 82 ldq $0, 0*8($sp) 83 ldq $1, 1*8($sp) 84 ldq $2, 2*8($sp) 85 ldq $3, 3*8($sp) 86 ldq $4, 4*8($sp) 87 ldq $5, 5*8($sp) 88 ldq $6, 6*8($sp) 89 ldq $7, 7*8($sp) 90 ldq $8, 9*8($sp) 91 ldq $19, 9*8($sp) 92 ldq $20, 10*8($sp) 93 ldq $21, 11*8($sp) 94 ldq $22, 12*8($sp) 95 ldq $23, 13*8($sp) 96 ldq $24, 14*8($sp) 97 ldq $25, 15*8($sp) 98 ldq $26, 16*8($sp) 99 ldq $27, 17*8($sp) 100 ldq $28, 18*8($sp) 101 lda $sp, SAVE_ALL_SIZE($sp) 102 .cfi_adjust_cfa_offset -SAVE_ALL_SIZE 103 .cfi_restore $0 104 .cfi_restore $1 105 .cfi_restore $2 106 .cfi_restore $3 107 .cfi_restore $4 108 .cfi_restore $5 109 .cfi_restore $6 110 .cfi_restore $7 111 .cfi_restore $8 112 .cfi_restore $19 113 .cfi_restore $20 114 .cfi_restore $21 115 .cfi_restore $22 116 .cfi_restore $23 117 .cfi_restore $24 118 .cfi_restore $25 119 .cfi_restore $26 120 .cfi_restore $27 121 .cfi_restore $28 122 123 call_pal 0x3f // rti 124 125 .cfi_endproc 126 .size entInt, . - entInt 127