포럼 회원으로 등록하신분만 다운로드가 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.
이 문서는 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