강좌 & 팁
안녕하세요.
날씨가 정말 좋은 어린이 날 입니다!!
하지만,
어린이가 아닌 관계로 오늘도 ARM 명령어를 공부해 보겠습니다^^
NOP
NOP는 ARM 명령어는 아닙니다.
NOP은 PC값을 업데이트 하는 것 외에 다른 부분에는 영향을 주지 않는 기능을 하는 어셈블리 메크로 입니다.
NOP은 ARM 상태에서
mov r0, r0로 어셈블 되며,
Thumb 상태에서는
mov r8, r8로 어셈블 됩니다 ^^
ARM상태에서 r0를 로드한 다음 NOP를 사용한다면 파이프라인 인터록(interlock)를 야기할 수도 있습니다.
ARM 명령어는 아니지만 한번은 짚고 넘어갈 필요가 있는 메크로라 생각되었습니다 ^^
1. 프로그램
다음 프로그램은 nop 메크로를 이용하여 아무 일도 안하는 것을 확인하는 프로그램 입니다.
다음은 nop 메크로를 이용한 nop.c 예제 프로그램 입니다.
#include <stdio.h>
int asm_nop_ex( void );
asm(" \n\
.global asm_nop_ex \n\
asm_nop_ex: \n\
nop \n\
nop \n\
nop \n\
mov pc, lr \n\
");
int main ( void )
{
printf("\n+------------------+\n");
printf("|ARMInstruction NOP|\n");
printf("+-------------------+\n\n");
asm_nop_ex();
printf("Program END\n\n");
return 0;
}
2. 프로그램 설명
이번 프로그램을 특별히 설명 할 것이 없습니다 ^^
왜냐!?
NOP 메크로는 아무것도 안하는 명령어 이기 떄문입니다!
그렇죠?
궁금한 것이 있는 분들은,
댓글을 이용해 주세요~~
3. 프로그램 실행화면
다음은 프로그램 실행 화면 입니다.
여러분도 실행해 보세요 ^^
앞으로?
다음글에도 역시! ARM 명령어중 하나를 선택하여 프로그램해 보겠습니다. ^^