강좌 & 팁
안녕하세요.
오늘도 ARM 명령어를 공부해 보겠습니다.
USAD 명령어
USAD 명령어는 부호 없는 값들의 차의 절대값의 합 입니다.
USAD 명령어는 비디오 코덱에서 주로 사용하는 명령어 이며,
두 이미지가 얼마나 유사한지 측정하기 위한 기준을 제공합니다.
USAD 명령은 비디오 코덱을 제작하시거나, 절대 값이 필요한 프로그램일 경우 필요한 명령어 이겠죠?
어떻게 동작하는 명령어 인지 프로그램을 하나 만들어 보겠습니다.
1. 프로그램
다음 프로그램은 r1과 r2의 차의 절대 값을 r0에 저장 후 그 값을 출력하는 프로그램 입니다.
다음은 usad 명령어를 이용한 usad.c 예제 프로그램 입니다.
#include <stdio.h>
void teq_test ( void )
{
printf("TEQ TEST\n\n");
}
int asm_nop_ex( void );
asm(" \n\
.global asm_teq_ex \n\
asm_teq_ex: \n\
mov r1, #4 \n\
mov r2, #2 \n\
usad8 r0, r1, r2 \n\
mov pc, lr \n\
");
int main ( void )
{
int usad;
printf("\n+--------------------+\n");
printf("|ARM Instruction TEQ |\n");
printf("+--------------------+\n\n");
usad = asm_teq_ex();
printf("usad value = %d\n\n", usad );
printf("Program END\n\n");
return 0;
}
2. 프로그램 설명
프로그램에 핵심이 되는 소스는 다음과 같습니다.
3. 프로그램 실행화면
다음은 프로그램 실행 화면 입니다.
예상한 결과가 맞나요!?
여러분도 실행해 보세요 ^^
앞으로?
다음글에도 역시! ARM 명령어중 하나를 선택하여 프로그램해 보겠습니다!