| 5.ふかちんXマシンメモリ |
|
|
|
|
|
|
|
|
|
1)メインRAM構成図 |
|
|
|
通常のプログラムはユーザー領域に格納して下さい。 |
|
|
|
00000000h |
システム領域 |
|
|
512kbyte |
|
|
00080000h |
サウンド領域 |
|
|
|
512kbyte |
|
|
00100000h |
VRAM |
|
|
|
1Mbyte |
|
|
|
|
|
|
|
|
|
|
|
|
00200000h |
ユーザー領域 |
|
|
4Mbyte |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00600000h |
スタック領域 |
|
|
|
|
1Mbyte |
|
|
|
|
|
|
|
|
006FFFFFh |
|
|
|
00700000h |
|
|
|
2)システム領域詳細 |
|
|
|
00000000h |
ブート領域 |
|
|
256byte |
|
|
00000100h |
強制割込み領域 |
|
|
256byte |
|
|
00000200h |
0除算割込み領域 |
|
|
256byte |
|
|
00000300h |
INT信号割込み領域 |
|
|
256byte |
|
|
00000400h |
spl割込み領域 |
|
|
256byte |
|
|
00000500h |
タイマー割り込み |
|
|
256byte |
|
|
00000600h |
割込みリザーブ |
|
|
14848byte |
|
|
|
|
|
|
00003FFFh |
|
|
|
|
00004000h |
svcテーブル |
|
|
240kbyte |
|
|
|
|
|
|
|
|
|
|
0003FFFFh |
|
|
|
|
00040000h |
システムPG領域 |
|
|
256kbyte |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0007FFFFh |
|
|
|
|
00080000h |
|
|
|
3)システム領域説明 |
|
|
|
A)ブート領域 |
システム起動時に先頭のアドレスがコールされる。 |
|
|
|
B)強制割り込み領域 |
外部ハードウェアからの割り込み。この割り込みはマスクできない。 |
|
|
割り込み時にここの先頭アドレスがコールされる。 |
|
|
|
C)0除算割り込み |
0で除算したとき割り込まれる。この割り込みはマスクできない。 |
|
|
割り込み時にここの先頭アドレスがコールされる。 |
|
|
|
D)INT信号割り込み |
外部ハードウェアからの割り込み。この割り込みはマスクできる。 |
|
|
割り込み時にここの先頭アドレスがコールされる。 |
|
|
|
E)spl割り込み |
スタックオーバーフロー割り込み。この割り込みはマスクできない。 |
|
|
割り込み時にここの先頭アドレスがコールされる。 |
|
|
スタックオーバーフローは、レジスタのspがsplより小さな値になった時発生する。 |
|
|
F)タイマー割り込み |
1000分の1秒単位にここのアドレスがコールされる。 |
|
|
この割り込みはマスクできる。 |
|
|
|
割り込みのマスクについて。 |
|
|
|
|
|
|
|
|
|
|
|
INT信号割り込みはEI命令で0を指定すると割り込みが許可される。 |
|
|
|
|
|
|
|
|
例) |
ei 0 |
|
|
|
|
|
|
|
|
|
INT信号割り込みはDI命令で0を指定すると割り込みが禁止される。 |
|
|
|
|
|
|
|
|
例) |
di 0 |
|
|
|
|
|
|
|
|
|
タイマー割り込みはEI命令で1を指定すると割り込みが許可される。 |
|
|
|
|
|
|
|
|
例) |
ei 1 |
|
|
|
|
|
|
|
|
|
タイマー割り込みはDI命令で1を指定すると割り込みが禁止される。 |
|
|
|
|
|
|
|
|
例) |
di 1 |
|
|
|
|
|
|
|
|
G)svcテーブル |
svcで呼ばれるアドレスを設定する。 |
|
|
例えば、svc
1 の命令場合、4000h + 1 * 4 番地に格納されている |
|
|
アドレスのプログラムをコールする。 |
|
|
svc 2 の命令の場合、4000h + 2 * 4 番地のアドレスのプログラムをコール。 |
|
svc 3 の命令の場合、4000h + 3 * 4
番地のアドレスのプログラムをコール。 |
|
この割り込みはマスクできない。 |
|
|
|
|
|
|
|
|
|
|
|