2016-12-14 3 views
1

IAR Arm 어셈블리 매크로 내에서 루프를 만들려고하지만 로컬 레이블을 만드는 방법을 알 수 없습니다. 매크로를 두 번 이상 호출하면 중복 된 레이블 오류가 발생합니다. 어셈블러.어셈블리 매크로 내에서 루프 만들기 - IAR ARM

myMacro MACRO 
    MOV R1, #0 
label: enter code here 
    do some stuff here 
    ADD R1, R1, #1   
    CMP R1, #10 
    BLE label 
    ENDM 
+1

http://vision.gel.ulaval.ca/~jflalonde/cours/1001/h15/docs/IAR_ref.pdf 페이지 "다음과 같이 내 코드는 60 "(74/137 pdf 뷰어 보여줌)은 로컬 심볼을 만들기 위해'LOCAL' 지시어를 사용해야하는 것처럼 보입니다. 인쇄중인 "65"페이지에는 'loop :'레이블 앞에 'LOCAL loop'라는 예가 있습니다. – Ped7g

+0

감사합니다. 나는 이미이 문서를 열었지만 그것을 완전히 놓쳤다. 해결책은 내가 찾던 것보다 훨씬 더 간단했습니다. –

+1

많은 어셈블러도 정확히 이런 종류의 작업을 위해 [숫자 로컬 라벨] (http://stackoverflow.com/q/32341112/3156750)을 지원합니다. 그러나 IAR에 대해서는 잘 모릅니다. – Notlikethat

답변

1

아래 해결 :

myMacro MACRO 
     LOCAL label 
     MOV R1, #0 
    label: enter code here 
     do some stuff here 
     ADD R1, R1, #1   
     CMP R1, #10 
     BLE label 
     ENDM