강좌 & 팁
안녕하세요.
오랫만 입니다 ^^
그간 잘 지내셨죠!?
저는 휴식 시간을 조금 가졌답니다 ^^
잘 쉬었으니, 오늘도 니모닉 조건을 이용하여 공부해 보겠습니다.
LE( Signed less than / equal )
LE의 의미는 '작거나 같음 (부호 있는 수)' 이며 Zero 플래그 세트(1) 또는
Negative 세트(1) 와 oVerflow 클리어(0) 또는
Negative 세트(0) 와 oVerflow 클리어(1) 가 될 경우 입니다.
위에 플래그 세트/클리어 라는 말은,
기억이 나실지 모르겠지만 ARM 명령어를 배워보자!(32) - 조건부 실행(1) 에 있는 조건 니모닉 표 중 상태 플래그에 적혀 있는 기호를 말로 표현한 것입니다.
설명과 같은 일을 하는 니모닉 조건인지 프로그램 하나를 만들어 검증해 보겠습니다 ^^
1. 프로그램
다음은 le 니모닉 조건을 이용한 le.c 예제 프로그램 입니다.
다음 프로그램은 r0와 r1을 비교하여 연산 결과가 "작거나 같을 경우" ble_test()를 호출하는 프로그램 입니다.
#include <stdio.h>
int asm_le_ex ( void );
void ble_test ( void )
{
printf("BLE TEST OK \n\n");
}
asm(" \n\
.global asm_le_ex \n\
asm_le_ex: \n\
mov r0, #2 \n\
mov r1, #3 \n\
cmp r0, r1 \n\
ble ble_test \n\
mov pc, lr \n\
");
int main ( void )
{
printf("\n+------------------+\n");
printf("|ARM Instruction LE|");
printf("\n+------------------+\n\n");
asm_le_ex();
printf("Program END\n\n");
return 0;
2. 프로그램 설명
프로그램을 하나하나 살펴 보겠습니다.
3. 프로그램 실행화면
다음은 실행 화면입니다.
앞으로?
드디어 다음 글로 니모닉 조건이 끝이 날것 같습니다.
다음 글에서 뵙겠습니다 ^^