6 ; © 1994-1998 Straylight
9 ;----- Licensing note -------------------------------------------------------
11 ; This file is part of Straylight's core library (corelib).
13 ; Corelib is free software; you can redistribute it and/or modify
14 ; it under the terms of the GNU General Public License as published by
15 ; the Free Software Foundation; either version 2, or (at your option)
18 ; Corelib is distributed in the hope that it will be useful,
19 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ; GNU General Public License for more details.
23 ; You should have received a copy of the GNU General Public License
24 ; along with Corelib. If not, write to the Free Software Foundation,
25 ; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 [ :LNOT::DEF:header__dfn
30 ;----- Register names -------------------------------------------------------
32 ; --- The standard ones ---
51 ; --- Standard pseudonyms ---
57 ; --- Lowercase version ---
95 ; --- Floating point register names ---
106 ; --- Lowercase floating point names ---
117 ;----- ARM processor flags --------------------------------------------------
119 ; --- Processor flags ---
121 FIQ_disable EQU 1<<26
122 IRQ_disable EQU 1<<27
129 ; --- Processor modes ---
136 ;----- Various useful macros ------------------------------------------------
140 ; Arguments: len == length to pad to
141 ; string == the string to write
142 ; byte == byte to fill with (default == 0)
144 ; Use: Writes a string out, and pads it to a given length. If the
145 ; string is too long, it gets truncated.
149 $label PAD $len,$string,$byte
161 i SETA :LEN: "$string"
164 DCB "$string" :LEFT: $len
175 ; --- Macro: BARRIER ---
179 ; Use: Inserts a cache barrier in the code (SWI &FF0000) for
180 ; executing dynamically-generated code.
186 ; SWI &F00000 ;Covered by NDA currently
189 ;----- That's all, folks ----------------------------------------------------