; LEDON2.SRC (c)yas@E-SYS Lab.
;******************************************
;* LEDを2つ点灯するプログラム *
;******************************************
;
;------CPUの指定-------
;
.CPU 300HA
;
;----シンボルの定義------
;ここではそのアドレスに名前を付けるショートカット作業を行っています.
;今回は前回と同様にポート5のbit1にもLED2と名前をつけます.
P5DR .EQU H'FFFFCA ;ポート5データレジスタ
LED1 .BEQU 0,P5DR ;ポート5のbit0をLED1で表す
LED2 .BEQU (_),P5DR ;ポート5のbit1をLED2で表す
;
.SECTION ROM,CODE,LOCATE=H'000100 ;セクションの宣言
;
;-----I/Oの初期設定----
;ここではH8の持っているポートを何にどのように使用するかを設定します.
;今回マザーボード右下についているLEDのみを出力として使うので,
;ポート5を出力に設定しています.
INIT: MOV.L #H'FFFF10,ER7 ;スタックポインタの設定
MOV.B #H'FF,R0L ;ポート5を出力に設定するため
MOV.B R0L,@H'FFFFC8 ;ポート5DDRにH'FFを書き込む
;
;----MAINルーチン-----
;これより先がプログラムのメインとなる場所です.
;今回はLEDを2つ点灯するプログラムです.
;
;流れの説明
;まず,LED1とLED2を点灯する.
;次にLOOPラベルのところへジャンプする.(無限ループ)
;
LEDON: BSET LED1 ;LED1を点灯する
BSET (____) ;LED2を点灯する
LOOP: JMP @LOOP ;ここでループする
.END
|