이 문서는 2004년 이채원님이 정리해 주셨던 문서 입니다.
본 문서의 내용은 Red Hat GNUPro
Toolkit의 Manual 자료 중 하나인 GNUPro Auxiliary Development Tools 문서의 Using
as 부분에서 8장 Assembler Macro Directives의 내용을 참조 및 발췌한 것임을 밝힙니다.
또한 일부분에 예제로 사용된 Macro 예제의 일부는 CLABSYS (http://www.clabsys.co.kr)의 자료실에 공개된 소스에서 발췌한 것임을 밝힙니다.
[1] ADS, SDT에서의 MACRO
MACRO
WR32 $ADDR, $DATA ; [ADDR]=DATA
LDR r0, =$ADDR
LDR r1, =$DATA
STR r1, [r0]
MEND
;………………………………………………………….
WR32 INTMSK, 0xFFFFFFFF
[2] GNU AS에서의 MACRO
.macro WR32 addr, data
ldr r0, =\addr
ldr r1, =\data
str r1, [r0]
.endm
@………………………………………………………….
WR32 INTMSK, 0xFFFFFFFF
[3] ADS, SDT에서의 Data Memory 세팅 반복 처리
- 특정 영역에 0 ~ 5의 값을 DCD로 할당하는 예제
(MMU 세팅 등에 이용할 수 있음.)
GBLA count
AREA |Data$$PageTable|, DATA, READONLY, ALIGN=14
EXPORT PageTable
PageTable
count SETA 0
WHILE count <= 5
DCD count
count SETA count + 1
WEND
END
출처 : http://www.aesop.or.kr
'Embedded > Softwares' 카테고리의 다른 글
inline function (0) | 2010.05.16 |
---|---|
유용한 ARM 어셈블리 (if, for, do_while, switch) (0) | 2010.05.05 |
유용한 ARM 어셈블리 분기 명령어 (0) | 2010.05.05 |
모듈명령, diff, patch (0) | 2009.06.08 |
minicom (0) | 2009.06.03 |
WRITTEN BY
- RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.