이 문서는 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
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.

,