한국으로/ARM

어셈블리어로 반복 프로그램 짜기

영킴. 2018. 7. 21. 21:47

어셈블리어로 반복 프로그램 짜기



특정 기능을 10회 반복하는 코드


[1] for(i=0; i<10; i++)


    MOV r0, #0
1:
    [do something]

    ADD r0, r0, #1
    CMP r0, #10
    BLT 1b



[2] for(i=10; i>10; i--)


    MOV r0, #10
1:
    [do something]
    
    SUB r0, r0, #1
    CMP r0, #0
    BGT 1b



[3] for(i=10; i>10; i--), S-Suffix 사용!


    MOV r0, #10
1:
    [do something]

    SUBS r0, r0, #1  -->  CMP할 필요 없이 한 클럭에 바로 갱신된다.
    BGT 1b