어셈블러작성
LED 프로그램작성
LED 를 제어하는 데 필요한 명령어를 구성을 한다.
C 언어 표현
C 언어로 작성된 프로그램은 다음과 같이 동작하는 프로그램
#include <stdint.h>
void LED_ON(void);
void LED_OFF(void);
void DELAY(uint32_t ms);
int main(void)
{
int R0;
R0 = 10;
LOOP:
LED_ON();
DELAY(1000);
LED_OFF();
DELAY(1000);
R0--;
if (R0 != 0)
goto LOOP;
END_ON:
LED_ON();
while (1)
{
// JMP END_ON
}
return 0;
}
ASM 언어 표현
LOAD 10 ; R0 = 5
LOOP:
LED_ON ; LED 켜기
DELAY 1000 ; 대기
LED_OFF ; LED 끄기
DELAY 1000 ; 대기
DEC ; R0 = R0 - 1
JNZ LOOP ; R0 != 0이면 LOOP로 이동
JZ END_ON ; R0 == 0이면 END_ON으로 이동
END_ON:
LED_ON ; LED 켠 상태 유지
JMP END_ON ; 무한 반복