Ignore:
Timestamp:
Jun 2, 2015, 3:39:53 PM (9 years ago)
Author:
nmir-saito
Message:

ファイルの mime-type 変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/start.asm

    • Property svn:mime-type set to text/plain; charset=shift_jis
    r93 r95  
    66;             Nagoya Municipal Industrial Research Institute, JAPAN
    77;
    8 ;  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì (1)`(4) ‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    9 ;  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏE
    10 ;  Ä”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    11 ;  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ìŒ 
    12 ;      •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[ƒX
    13 ;      ƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    14 ;  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    15 ;      ‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    16 ƒƒ“ƒgi—˜—pŽÒƒ}
    17 ;      ƒjƒ
    18 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•Û
    19 ;      Ø‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    20 ;  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    21 ;      ‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±‚ƁD
    22 ;    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    23 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    24 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ì
    25 ;        Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    26 ;    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É•ñ
    27 ;        ‚·‚邱‚ƁD
    28 ;  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹ŠQ
    29 ;      ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD‚Ü‚½C
    30 ;      –{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝—R‚ÉŠî‚Ã
    31 ;      ‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    32 ;
    33 ;  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨‚æ
    34 ;  ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I‚ɑ΂·
    35 ;  ‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p
    36 ;  ‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚ð•‰
    37 ;  ‚í‚È‚¢D
    38 ;
    39 ;
    40 
    41 ;
    42 ; ƒXƒ^[ƒgƒAƒbƒvƒ‹[ƒ`ƒ“
    43 ;    ƒvƒƒZƒbƒT‚ÍS2ƒRƒACƒ~ƒfƒBƒAƒ€ƒ‚ƒfƒ‹‚ð‘ΏۂƂ·‚é
    44 ;
    45 
    46 ;
    47 ; ƒOƒ[ƒoƒ‹ƒVƒ“ƒ{ƒ‹
    48 ;
    49         ; ƒZƒOƒƒ“ƒgæ“ªƒAƒhƒŒƒX(segment_s.asm)
     8;  上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ
     9;  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・
     10;  再配布(以下,利用と呼ぶ)することを無償で許諾する.
     11;  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権
     12;      表示,この利用条件および下記の無保証規定が,そのままの形でソース
     13;      コード中に含まれていること.
     14;  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用
     15;      できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ
     16;      ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保
     17;      証規定を掲載すること.
     18;  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用
     19;      できない形で再配布する場合には,次のいずれかの条件を満たすこと.
     20;    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作
     21;        権表示,この利用条件および下記の無保証規定を掲載すること.
     22;    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報
     23;        告すること.
     24;  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
     25;      からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また,
     26;      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
     27;      く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     28;
     29;  本ソフトウェアは,無保証で提供されているものである.上記著作権者およ
     30;  びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す
     31;  る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用
     32;  により直接的または間接的に生じたいかなる損害に関しても,その責任を負
     33;  わない.
     34;
     35;
     36
     37;
     38; スタートアップルーチン
     39;    プロセッサはS2コア,ミディアムモデルを対象とする
     40;
     41
     42;
     43; グローバルシンボル
     44;
     45        ; セグメント先頭アドレス(segment_s.asm)
    5046        extrn   _@R_INIT, _@R_INIS, _@RLINIT
    5147        extrn   _@INIT, _@DATA, _@INIS, _@DATS, _@INITL, _@DATAL
    5248
    53         ; ƒZƒOƒƒ“ƒg––”öƒAƒhƒŒƒX(segment_e.asm)
     49        ; セグメント末尾アドレス(segment_e.asm)
    5450        extrn   _?R_INIT, _?R_INIS, _?RLINIT
    5551        extrn   _?INIT, _?DATA, _?INIS, _?DATS, _?INITL, _?DATAL
    5652
    57         ; ƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚̏‰Šú’l(kernel_cfg.c)
     53        ; スタックポインタの初期値(kernel_cfg.c)
    5854        extrn   __kernel_istkpt
    5955       
    60         ; ƒJ[ƒlƒ‹ŠJŽnˆ—(kernel/startup.c)
     56        ; カーネル開始処理(kernel/startup.c)
    6157        extrn   _sta_ker
    6258       
    63         ; saddr—̈æ‚̐擪ƒAƒhƒŒƒXCƒTƒCƒYiƒŠƒ“ƒJ‚Å’è‹`j
     59        ; saddr領域の先頭アドレス,サイズ(リンカで定義)
    6460        extrn   _@SADBEG, _@SADSIZ
    6561       
    66         ; ƒGƒ“ƒgƒŠƒ|ƒCƒ“ƒg
     62        ; エントリポイント
    6763        public  _start
    6864
    6965
    7066;
    71 ; ’萔’è‹`
    72 ;
    73         ; MAA(PMC‚̃rƒbƒg0): 0 ‚Ü‚½‚Í 1
    74         ;   0‚̏ꍇC00000H--0FFFFH ‚ð F0000H--FFFFFH‚Öƒ~ƒ‰[
    75         ;   1‚̏ꍇC10000H--1FFFFH ‚ð F0000H--FFFFFH‚Öƒ~ƒ‰[
     67; 定数定義
     68;
     69        ; MAA(PMCのビット0): 0 または 1
     70        ;   0の場合,00000H--0FFFFH を F0000H--FFFFFHへミラー
     71        ;   1の場合,10000H--1FFFFH を F0000H--FFFFFHへミラー
    7672INIT_MAA        EQU     0
    7773
    7874;
    79 ; ƒ}ƒNƒ’è‹`
    80 ;
    81         ; ƒZƒOƒƒ“ƒgŠÔ‚̃f[ƒ^ƒRƒs[(far‚ÌROM‚©‚çnear‚ÌRAM‚ցCsrc‚̃TƒCƒY•ª)
     75; マクロ定義
     76;
     77        ; セグメント間のデータコピー(farのROMからnearのRAMへ,srcのサイズ分)
    8278copy_seg        macro src, dst
    8379        local   _1, _2
     
    9793        endm
    9894
    99         ; ƒZƒOƒƒ“ƒgŠÔ‚̃f[ƒ^ƒRƒs[(far‚ÌROM‚©‚çfar‚ÌRAM‚ցCsrc‚̃TƒCƒY•ª)
     95        ; セグメント間のデータコピー(farのROMからfarのRAMへ,srcのサイズ分)
    10096copy_fseg       MACRO   src, dst
    10197        local   _1, _2
     
    116112        endm
    117113
    118         ; ƒZƒOƒƒ“ƒg‚̃f[ƒ^ƒNƒŠƒA(near RAM)
     114        ; セグメントのデータクリア(near RAM)
    119115clear_seg       MACRO   dst
    120116        local   _1, _2
     
    131127        endm
    132128
    133         ; ƒZƒOƒƒ“ƒg‚̃f[ƒ^ƒNƒŠƒA(far RAM)
     129        ; セグメントのデータクリア(far RAM)
    134130clear_fseg      MACRO   dst
    135131        local _1, _2
     
    147143
    148144;
    149 ; ƒVƒXƒeƒ€ŠJŽn
     145; システム開始
    150146;
    151147@@CODE  CSEG    BASE
     
    153149
    154150        ;
    155         ; PSW‚̐ݒè
    156         ;
    157     di                  ; Š„ž‚Ý‹ÖŽ~(Š„ž‚݃ƒbƒN‘Š“–‚ÌŠ„ž‚Ý‹ÖŽ~)
    158         sel     rb0     ; ƒŒƒWƒXƒ^ƒoƒ“ƒN(RB0)
    159        
    160         ;
    161         ; ƒ~ƒ‰[—̈æ‚̐ݒè
     151        ; PSWの設定
     152        ;
     153    di                  ; 割込み禁止(割込みロック相当の割込み禁止)
     154        sel     rb0     ; レジスタバンク(RB0)
     155       
     156        ;
     157        ; ミラー領域の設定
    162158        ;
    163159        mov     a, #INIT_MAA
     
    166162
    167163        ;
    168         ; ƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚̐ݒè
     164        ; スタックポインタの設定
    169165        ;
    170166        movw    de, #__kernel_istkpt
     
    174170
    175171        ;
    176         ; _hardware_init_hook ‚̌Ăяo‚µ(‚à‚µ‚ ‚ê‚Î)
     172        ; _hardware_init_hook の呼び出し(もしあれば)
    177173        ;
    178174        ;call   !!_hardware_init_hook
    179175
    180176        ;
    181         ; ƒƒ‚ƒŠ‰Šú‰»
     177        ; メモリ初期化
    182178        ;
    183179        copy_seg        R_INIS, INIS
     
    189185        clear_fseg      DATAL
    190186
    191         ;  saddr—̈æ‚̏‰Šú‰»
     187        ;  saddr領域の初期化
    192188        mov     b,#_@SADSIZ
    193189        clrw    ax
     
    199195
    200196        ;
    201         ; _sofrware_init_hook ‚̌Ăяo‚µ(‚à‚µ‚ ‚ê‚Î)
     197        ; _sofrware_init_hook の呼び出し(もしあれば)
    202198        ;
    203199        ;call   !!_software_init_hook
    204200       
    205201        ;
    206         ; sta_ker (kernel/startup.c) ‚̌Ăяo‚µ
     202        ; sta_ker (kernel/startup.c) の呼び出し
    207203        ;
    208204        br      !!_sta_ker
Note: See TracChangeset for help on using the changeset viewer.