|
|
1.1 root 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
31: entInt:
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.