Ответ: (Может поможет страждующему)(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено PicoDev 26 сентября 2003 г. 09:08
В ответ на: Кругозор конфы потрясает, позволю себе офтопик: eMbedded VC++ отправлено neofit 25 сентября 2003 г. 15:57

The coding examples used throughout this document are written using macros to isolate the programmer from the low-level details involved with using assembler directives. This appendix defines how the macros listed in Arm Assembler Macros are implemented using assembler directives when the macros cannot be used.

MACRO
START_REGION $NameBegin
LCLS TempName
TempName SETS VBar:CC:"$NameBegin":CC:Vbar
EXPORT $TempName[DATA]
$TempName
MEND

MACRO
END_REGION $NameEnd
LCLS TempName
TempName SETS VBar:CC:"$NameEnd":CC:Vbar
EXPORT $TempName[DATA]
$TempName
MEND

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

AREA |.pdata|,PDATA
DCD $FuncName
DCD (($PrologName-$FuncName)/4) :OR: ((($FuncEndName- $FuncName)/4):SHL:8) :OR: 0x40000000 :OR: $ExceptBit

AREA $AreaName,CODE
ALIGN 4
EXPORT $FuncName
IF HaveExceptHandler
DCD $ExceptHandler
DCD $ExceptData
HaveExceptHandler SETL {FALSE}
ENDIF
$FuncName
ROUT
MEND

MACRO
PROLOG_END
$PrologName
MEND

MACRO
LEAF_ENTRY $Name
FuncName SETS VBar:CC:"$Name":CC:Vbar
PrologName SETS "Invalid Prolog"
FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:Vbar
ALIGN 4
EXPORT $FuncName
$FuncName
ROUT
MEND

MACRO
ALTERNATE_ENTRY $Name
LCLS TempName
TempName SETS VBar:CC:"$Name":CC:Vbar
EXPORT $TempName
$TempName
MEND

MACRO
ENTRY_END $Name
$FuncEndName MEND

MACRO
EXCEPTION_HANDLER $Handler
ExceptHandler SETS VBar:CC:"$Handler":CC:Vbar
ExceptData SETS "0"
HaveExceptHandler SETL {TRUE}
MEND

MACRO
EXCEPTION_HANDLER_DATA $Handler, $HandlerData
ExceptHandler SETS VBar:CC:"$Handler":CC:Vbar
ExceptData SETS VBar:CC:"$HandlerData":CC:Vbar
HaveExceptHandler SETL {TRUE}
MEND


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru