# 어셈블러작성 ## LED 프로그램작성 LED 를 제어하는 데 필요한 명령어를 구성을 한다. ### C 언어 표현 C 언어로 작성된 프로그램은 다음과 같이 동작하는 프로그램 ```c #include 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 언어 표현 - [led.asm 다운로드](files/led.asm) ```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 ; 무한 반복 ```