LED 깜빡이기 1 강좌에서는 하나의 파일안에 메인소스와 딜레이 루틴을 같이 작성하였습니다. 이번에는 딜레이 루틴은 따로 빼내어 delay.inc 라는 파일에 저장하도록 하겠습니다.^^
;================================================
;
; LED 깜빡이기 어셈 소스
;
;================================================
ORG 0000H
JMP START
ORG 0035H
START:
MOV P1,#0FFH ; LED 끄기
CALL D_1S ; 1초 지연
MOV P1,#0H ; LED 켜기
CALL D_1S ; 1초 지연
JMP START
;================================================
$INCLUDE(DELAY.INC)
END
;================================================
LED 깜빡이기 1 강좌와 비교했을 때, 달라진 곳은 마지막 빨간색으로 표시한 부분입니다. 딜레이 루틴을 DELAY.INC 파일에 저장하였으므로, 이 파일을 LED.ASM 소스에 포함하려면 $INCLUDE 명령어를 사용해 파일을 첨부하게 됩니다. 딜레이 루틴을 이렇게 파일로 작성하면 소스의 내용을 파악할 때 더욱 명확해 지는 장점이 있습니다. 복잡한 프로그램을 작성할 때 $INCLUDE 명령어의 힘을 볼 수 있을 것 같습니다.^^
어셈블러마다 명령어가 약간씩 다르기 때문에 만약 어셈블러가 IAR 이라면 $INCLUDE 대신 $를 사용해야 합니다. 여기서는 ASEM-51을 사용하므로 $INCLUDE 명령어를 기억하세요^^
소스는 파일로 첨부하였습니다.
==================================================