; Copyright 2005 Doi Shigeki ;list1007.asm h8/3052Fテスト・プログラム ; モード5動作,外部I/O操作 ; .CPU 300HA ;アドバンスド・モード ;HEWならなくてもよい .SECTION sec0,DATA,LOCATE=H'0000 ;sec0という名のセクションを0x0000から展開 .DATA.L start ;リセット・ベクトル .SECTION sec1,CODE,LOCATE=H'0100 ;sec1という名のセクションを0x0100から展開 start: MOV.L #H'FFF80,ER7 ;スタックポインタ設定 MOV.B #H'FF,R0L ;ポート1,5を出力に設定 MOV.B R0L,@H'FFFC0 ;ポート1DDR MOV.B R0L,@H'FFFC8 ;ポート5DDR MOV.B #D'10,R1L ;10回点滅 loop: MOV.B #H'0F,R0L ;LEDを点灯する MOV.B R0L,@h'80000 ;80000番地I/O BSR wait05 MOV.B #H'00,R0L ;LEDを消灯する MOV.B R0L,@h'80000 ;80000番地I/O BSR wait05 DEC.B R1L BNE loop echo: MOV.B @H'80000,R0L ;80000番地I/Oから入力 MOV.B R0L,@h'80000 ;80000番地I/Oへ出力 JMP @echo wait05: MOV.L #D'2083333,ER6 ;(0.5秒/(1/25MHz))/6ステート wait052: DEC.L #1,ER6 ;2ステート BNE wait052 ;4ステート RTS .END