32k ROM の crt0.s

「32k ROM の crt0.s」の編集履歴(バックアップ)一覧はこちら

32k ROM の crt0.s」(2009/03/07 (土) 15:29:40) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

32k ROM イメージ用 crt0.s サンプル 各種デバイスの初期化をしません そのためディスクドライブも使用できません ROM ヘッダ部分 カートリッジロムヘッダと 0x4010 からの初期化コードエントリポイントなどの設定 ;; crt0.s for msx rom .module crt0 .globl _main .area _HEADER (ABS) ;; rom header .org 0x4000 .db 0x41, 0x42 ; id .dw init ; init .dw 0x0000 ; statement .dw 0x0000 ; device .dw 0x0000 ; text .dw 0x0000 ; reserve .dw 0x0000 ; reserve .dw 0x0000 ; reserve ここから main() に入る前の初期化 スタック設定とスロット #1 とスロット #2 を ROM カートリッジにする処理 ここでグローバル変数初期化コードを呼びたいのだが、 どうやっても初期化コードが DATA セクションに乗ってしまうので諦めた SDCC のバージョンが上がれば、できるようになるかも ;; initialize .org 0x4010 init: ;; Stack at the top of bios work. ld sp,#0xf380 call 0x0138 ; RSLREG ld b,a ; and #0x0c0 srl a srl a ld hl, #0x8000 call 0x0024 ; ENASLT ei ;; Initialise global variables ; call gsinit call _main jp _exit _exit:: halt ここに書いた順でセクションの位置が決まるらしい なのでリンカスクリプトはないっぽい ;; Ordering of segments for the linker. .area _HOME .area _CODE .area _GSINIT .area _GSFINAL .area _DATA .area _BSS .area _HEAP
32k ROM イメージ用 crt0.s サンプル 各種デバイスの初期化をしません そのためディスクドライブも使用できません ROM ヘッダ部分 カートリッジロムヘッダと 0x4010 からの初期化コードエントリポイントなどの設定 ;; crt0.s for msx rom .module crt0 .globl _main .area _HEADER (ABS) ;; rom header .org 0x4000 .db 0x41, 0x42 ; id .dw init ; init .dw 0x0000 ; statement .dw 0x0000 ; device .dw 0x0000 ; text .dw 0x0000 ; reserve .dw 0x0000 ; reserve .dw 0x0000 ; reserve ここから main() に入る前の初期化 スタック設定とページ1とページ2を ROM カートリッジにする処理 ここでグローバル変数初期化コードを呼びたいのだが、 どうやっても初期化コードが DATA セクションに乗ってしまうので諦めた SDCC のバージョンが上がれば、できるようになるかも ;; initialize .org 0x4010 init: ;; Stack at the top of bios work. ld sp,#0xf380 call 0x0138 ; RSLREG ld b,a ; and #0x0c0 srl a srl a ld hl, #0x8000 call 0x0024 ; ENASLT ei ;; Initialise global variables ; call gsinit call _main jp _exit _exit:: halt ここに書いた順でセクションの位置が決まるらしい なのでリンカスクリプトはないっぽい ;; Ordering of segments for the linker. .area _HOME .area _CODE .area _GSINIT .area _GSFINAL .area _DATA .area _BSS .area _HEAP

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。