; Copyright 2003 Castle Technology Ltd ; ; Licensed under the Apache License, Version 2.0 (the "License"); ; you may not use this file except in compliance with the License. ; You may obtain a copy of the License at ; ; http://www.apache.org/licenses/LICENSE-2.0 ; ; Unless required by applicable law or agreed to in writing, software ; distributed under the License is distributed on an "AS IS" BASIS, ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ; See the License for the specific language governing permissions and ; limitations under the License. ; ; Copyright (C) Acorn Computers Ltd., 1988 GBLS VBar GBLS UL GBLS XXModuleName VBar SETS "|" UL SETS "_" MACRO Module $name XXModuleName SETS UL:CC:"$name":CC:UL MEND MACRO LoadStaticAddress $Addr, $Reg, $Reg2 LCLS reg2 [ "$Reg2"="" reg2 SETS "ip" | reg2 SETS "$Reg2" ] LDR $Reg, =$Addr LDR $reg2, [sl, #SL_Client_Offset] ADD $Reg, $Reg, $reg2 MEND MACRO LoadStaticBase $Reg, $Ignore LoadStaticAddress StaticData, $Reg, $Ignore MEND MACRO $Label Variable $Size LCLS Temps LCLA Tempa [ "$Size"="" Tempa SETA 1 | Tempa SETA $Size ] Temps SETS VBar:CC:XXModuleName:CC:"$Label":CC:VBar KEEP $Temps ALIGN O_$Label * .-StaticData $Temps % &$Tempa*4 MEND MACRO $Label ExportedVariable $Size LCLS Temps LCLA Tempa [ "$Size"="" Tempa SETA 1 | Tempa SETA $Size ] Temps SETS VBar:CC:"$Label":CC:VBar EXPORT $Temps ALIGN O_$Label * .-StaticData $Temps % &$Tempa*4 MEND MACRO $Label ExportedWord $Value LCLS Temps Temps SETS VBar:CC:"$Label":CC:VBar EXPORT $Temps ALIGN O_$Label * .-StaticData $Temps & $Value MEND MACRO $Label VariableByte $Size LCLS Temps LCLA Tempa [ "$Size"="" Tempa SETA 1 | Tempa SETA $Size ] Temps SETS VBar:CC:XXModuleName:CC:"$Label":CC:VBar KEEP $Temps O_$Label * .-StaticData $Temps % &$Tempa MEND MACRO $Label InitByte $Value $Label = $Value MEND MACRO $Label InitWord $Value $Label & $Value MEND MACRO $Label Keep $Arg LCLS Temps $Label $Arg Temps SETS VBar:CC:XXModuleName:CC:"$Label":CC:VBar KEEP $Temps $Temps MEND END