;
; This macro should be used if the assembly function is in THUMB
;
MACRO
NESTED_THUMBENTRY $Name
FuncName SETS VBar:CC:"$Name":CC:VBar
PrologName SETS VBar:CC:"$Name":CC:"_Prolog":CC:VBar
FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:VBar
LCLS ExceptBit
IF HaveExceptHandler
ExceptBit SETS "0x80000000"
ELSE
ExceptBit SETS "0"
ENDIF
AREA |.pdata|,ALIGN=2,PDATA
DCD $FuncName
DCD (($PrologName-$FuncName)/2) :OR: ((($FuncEndName-$FuncName)/2):SHL:8) :OR: $ExceptBit
AREA $AreaName,CODE,READONLY
ALIGN 2
EXPORT $FuncName
IF HaveExceptHandler
DCD $ExceptHandler
DCD $ExceptData
HaveExceptHandler SETL {FALSE}
ENDIF
$FuncName
ROUT
MEND
;
; This macro should be used if the assembly function is in ARM
;
MACRO
NESTED_ENTRY $Name
FuncName SETS VBar:CC:"$Name":CC:VBar
PrologName SETS VBar:CC:"$Name":CC:"_Prolog":CC:VBar
FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:VBar
LCLS ExceptBit
IF HaveExceptHandler
ExceptBit SETS "0x80000000"
ELSE
ExceptBit SETS "0"
ENDIF
;
;? This macro should be used if the assembly function is in THUMB
;
MACRO
NESTED_THUMBENTRY $Name
FuncName? ? SETS? ? VBar:CC:"$Name":CC:VBar
PrologName? SETS? ? VBar:CC:"$Name":CC:"_Prolog":CC:VBar
FuncEndName SETS? ? VBar:CC:"$Name":CC:"_end":CC:VBar
LCLS ExceptBit
IF HaveExceptHandler
ExceptBit? SETS "0x80000000"
ELSE
ExceptBit? SETS "0"
ENDIF
;
;? This macro should be used if the assembly function is in ARM
;
MACRO
NESTED_ENTRY $Name
FuncName? ? SETS? ? VBar:CC:"$Name":CC:VBar
PrologName? SETS? ? VBar:CC:"$Name":CC:"_Prolog":CC:VBar
FuncEndName SETS? ? VBar:CC:"$Name":CC:"_end":CC:VBar
LCLS ExceptBit
IF HaveExceptHandler
ExceptBit? SETS "0x80000000"
ELSE
ExceptBit? SETS "0"
ENDIF
;
;? This macro should be used if the assembly function is in THUMB
;
MACRO
NESTED_THUMBENTRY $Name
FuncName? ? SETS? ? VBar:CC:"$Name":CC:VBar
PrologName? SETS? ? VBar:CC:"$Name":CC:"_Prolog":CC:VBar
FuncEndName SETS? ? VBar:CC:"$Name":CC:"_end":CC:VBar
LCLS ExceptBit
IF HaveExceptHandler
ExceptBit? SETS "0x80000000"
ELSE
ExceptBit? SETS "0"
ENDIF
;
;? This macro should be used if the assembly function is in ARM
;
MACRO
NESTED_ENTRY $Name
FuncName? ? SETS? ? VBar:CC:"$Name":CC:VBar
PrologName? SETS? ? VBar:CC:"$Name":CC:"_Prolog":CC:VBar
FuncEndName SETS? ? VBar:CC:"$Name":CC:"_end":CC:VBar
LCLS ExceptBit
IF HaveExceptHandler
ExceptBit? SETS "0x80000000"
ELSE
ExceptBit? SETS "0"
ENDIF