H8/3048F について
ノート












  1. TekuRobo工作室 rikiyaさんのページにある。107.タイマー割込みでPWMする に書かれている pwmtest2.cstartup2.mar
    秋月モニター・デバッガAKI-H8/3048用 で RAM版で動作するように変更する。

  2. プログラムのロード
     H8/3048 Serise Advanced Mode Monitor Ver. 2.0C
     AKI-H8 3048/F
     1998
    
    : l
      Top Address=FF070
      End Address=FF267
    :
    
    
    
    
    
    ← FF267 - FF070 = 1F7 
     503バイトになるようです。
    
    モニターデバッガの ユーザー領域は 3,584バイトあるらしいのでまだまだ余裕で使えるようです。

  3. Startup2.mar の部分
            .org    h'FFF070        ;ITU1 GRAによる割込みテーブル位置
            .data.l _intimia1       ;ITU1 GRAによる割込み処理先
    ;
    ;       .org    h'00100         ;主プログラムの開始
            .org    h'FFF100        ;主プログラムの開始 変更
    init:   mov.l   #h'fff10,er7    ;SPの設定
    ;       ldc     #0,ccr          ;CLEAR INTERRUPT MASK,NOT USE UI BIT
            jmp     @_main          ;関数mainへのジャンプ
    ;       .section D,DATA,locate=h'ffd00 ;変数用アドレス
            _cnt:   .res.w  1       ;cnt変数のアドレスを確保
            _mode:  .res.w  1       ;mode変数のアドレスを確保
    ;
    
    ← ここはモニター仮想ベクトル領域に
      変更してある。
    
    
    ← 開始アドレスも FF100 に変更
    
    
    
    : da ff100
      <ADDR>  <CODE>                <MNEMONIC> <OPERAND>
      FF100   7A07000FFF10          MOV.L      #H'000FFF10:32,ER7
      FF106   0700                  LDC.B      #H'00:8,CCR
      FF108   5AFFF110              JMP        @H'FF110:24
    
    
    
    
    ← JMP で _main へ

    : d ff000
      <ADDR>                  <  D  A  T  A  >                     < ASCII CODE >
      FF000   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF010   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF020   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF030   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF040   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF050   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF060   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF070   00 FF F1 8A 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF080   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF090   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF0A0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF0B0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF0C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF0D0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF0E0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
      FF0F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   "................"
    
    
    
    
    
    
    
    
    ← FF070
     仮想割り込み領域に
     .data.l _intimia1のアドレス
     が格納されている。
    
     intimia1 へ





    共通レジスタ