2016-12-14 5 views
1

Je tente de créer une boucle dans une macro d'assemblage IAR Arm mais je n'arrive pas à comprendre comment créer des étiquettes locales, si la macro est appelée plus d'une fois l'assembleur. Mon code est le suivant:Création d'une boucle dans une macro d'assemblage - 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

page http://vision.gel.ulaval.ca/~jflalonde/cours/1001/h15/docs/IAR_ref.pdf " 60 "dans l'impression (74/137 montre la visionneuse de pdf), semble que vous devriez employer la directive' LOCAL' pour créer le symbole local. Sur la page "65" à l'impression, il y a un exemple de 'LOCAL loop' devant le label' loop: '. – Ped7g

+0

Merci. J'ai déjà ouvert ce document mais je l'ai complètement raté. La solution était beaucoup plus simple que je cherchais. –

+1

De nombreux assembleurs prennent également en charge [les étiquettes locales numériques] (http://stackoverflow.com/q/32341112/3156750) pour précisément ce genre de chose - mais je ne connais pas les IAR. – Notlikethat

Répondre

1

ci-dessous Résolu:

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