読者です 読者をやめる 読者になる 読者になる

ニャオニャオ21世紀

雑記と、MSXぽいアプリ開発と、ゲーム他の様々なアイデアを公開しています

MSXマシン語入門(Z80 アセンブラ) 勉強レポート 第5回 MSX メモリ 構成

MSXマシン語勉強

今日はメモリ構成をやりました!

その前に

2の補数表示というものの説明をしたいと思います。

 

nyaonyaokun.hatenablog.com

 

よくプログラムを組んでいると、扱える数値の範囲というのがあると

思います。

例えば、-32768 〜 +32767 までの数値を扱えますよというもの。

普通に暗記されている方が多いと思いますが、

ちょっと待ってください!!

今まで書いてきた2進数の知識では、マイナスを扱えません!!

 

そこで登場するのが2の補数です。

簡単な例をごらんください。

 

2進数                                               10進数

-------------------------------------------------------------------------

1000000000000000                           -32768

1000000000000001                           -32767

 

 

1111111110000000                           -128

1111111110000001                           -127

 

1111111111111111                           -1

 

マイナスは一番左のビットが1となっています。

ちなみに

2進数                                                 10進数

0111111111111111                            32767

プラスは一番左のビットが0です。

 

そういうものと覚えていただくのが早いですね〜。

 

 

メモリについてですが、

64Kバイトあるということは、0H番地〜FFFFH(65535)番地まであるということです。

 (Hは16進数の意味)

実際には64K中、32KバイトはMSX-BASICインタプリタROMが入っています。

インタプリタはその都度、マシン語に翻訳するとでも思ってください。そのつど

翻訳しているからBASICは遅い;)

32Kマシンにも、実際には64Kメモリがあって半分はBASICインタプリタ

占領されているなんてはじめてしりました!

 

MSXの32Kマシンだと

 

アドレス

-----------------------------------------------------

0000 |

    |        BASIC インタプリタ (32K)  

         |  

7FFF |

-----------------------------------------------------

8000 |

         |       RAM( 32 K )

         |

FFFF |

------------------------------------------------------

 

こんな構造になっているようです。

 

驚くべきことに、64Kマシンは、32KのBASICインタプリタを切り替えて

実際のプログラムが動くようにしているということらしいです。

つまり、BASICインタプリタをどかして容量を確保しているらしいです。

ということですので、BASICだと32Kマシンと同じ分しかプログラムが走らない

みたいです。

 

ちなみに16Kマシンはというと

アドレス

-----------------------------------------------------

0000 |

    |        BASIC インタプリタ (32K)  

         |  

7FFF |

-----------------------------------------------------

    |   この間はメモリは入っていない

-----------------------------------------------------

C000 |       RAM (16K)

FFFF |

------------------------------------------------------

 

ということらしいです。

 

今日はこの辺りにしておきます。

では〜

 

 

nyaonyaokun.hatenablog.com