본문 바로가기
한국으로/ARM

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

by 영킴. 2018. 7. 21.

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



특정 기능을 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


'한국으로 > ARM' 카테고리의 다른 글

다중 메모리 이동: LDM, STM  (0) 2018.07.22
AAPCS와 레지스터 테이블  (0) 2018.07.21
ARM의 특수 용도 레지스터  (0) 2018.07.21
호출 규약 __cdecl 과 __stdcall의 차이점  (0) 2018.07.21
volatile이 필요한 경우  (0) 2018.07.21
C Runtime Startup  (0) 2018.07.21
어셈블리어 명령어  (0) 2018.07.21
ARM 프로세서 개요  (0) 2018.07.21