안녕하세요.


오늘도 역시 ARM 명령어에 대하여 공부해 보겠습니다.

B 명령어


오늘은 분기 명령어인 B 명령어를 공부해 보겠습니다.


B 명령어는 실행 흐름을 변경하거나 어떤 루틴을 호출하는 데 사용합니다.


B 명령을 이용하여 프로그램을 해보겠습니다 ^^

1. 프로그램


다음은 B 명령어를 사용한 b.c 예제 프로그램 입니다.


#include <stdio.h>

int  asm_b_ex ( void );

void b_test ( void )
{
printf("b test called\n\n");
}

asm(" \n\
.global asm_b_ex \n\
asm_b_ex: \n\
b b_test \n\ 
mov pc, lr \n\
");

int main ( void )
{
printf("\n+-------------------+\n");
printf("|ARMInstruction CMP|\n");
printf("+-------------------+\n\n");

asm_b_ex();

return 0; }


결과를 예상해 보세요~^^

2. 프로그램 설명


핵심 소스는 다음과 같습니다.


b b_test


맞습니다!!


당연히 b_test 로 분기를 하게 됩니다.


그래서 결과는 어떻게 될까요?


프로그램을 실행하여 확인해 보겠습니다 ^^

3. 프로그램 실행화면


다음은 실행 화면입니다.


asm_b_test().PNG


여러분들도 실행해 보세요~~

앞으로?

 

다음글에도 역시~ ARM 명령어 중 하나를 선택하여 공부해 보겠습니다.


빠른만남을 원하시면 http://ms-osek.org/ 여기로 찾아오세요~