ニャオニャオ21世紀

レトロゲーム(MSX、PCエンジン、セガサターン)と、MSXぽいアプリ開発と、最新ゲーム(PS4、SWITCH)、身体(身体意識など)、ライフハックほか雑記を綴っています

MSX-MSXマシン語勉強

MSXマシン語入門(Z80 アセンブラ・機械語) 第30回 I/Oポートについて(VDP) 勉強レポート 

I / Oポートって何? よく聞くのですけど、いまいち分からなかったんです。 Windowsでもポートの何番をあけてどうのこうのというのをよく聞くのですが.... MSXのハードの構造を読んでよくわかりました^^ MSXハード構成: CPU ------ I/Oポート------ VDP | |…

MSXマシン語入門(Z80 アセンブラ・機械語) 第29回ビット操作について<シフトなど> 勉強レポート 

今回は、ビット操作です。 今までは基本的には1バイト単位での操作でしたが、 これからやることは1ビット単位です。 これぞマシン語、ですね^^ 2進数のところが身についていないと少しやりずらいかも。 では、本を読んで勉強したいと思います。 まずビット操…

MSXマシン語入門(Z80 アセンブラ・機械語) 第28回 2進数でマイナスの値。2の補数 勉強レポート

2進数でマイナスの値を表すのはどうすればいいのか? 今回は負の値について書きます。 本当は、2進数のことについて書いた時の書くべきでした(~~; 申し訳ないです。 10進数から2進数への変換は分かると思います。 25 ---> 00011001 となります。 まぁ計算を…

MSXマシン語入門(Z80 アセンブラ・機械語) 第27回 マシン語の計算 勉強レポート

今回はマシン語の計算です。 ゲームで計算というと座標とか、敵のダメージ量であったり まぁ何かと使いますね^^ これを学ぶと少しプログラムを組めるようになるのかな? 今回もこの本でお勉強です^^ MSXマシン語入門講座 posted with amazlet at 18.09.0…

MSXマシン語入門(Z80 アセンブラ・機械語)第26回 論理演算の働き マシンコードは? 勉強レポート

今回、本で勉強したのは、8ビットでの論理演算です。 僕は少しだけ知っています。国家資格の2種の勉強の時にやりました。 でもほとんど忘れてしまったなぁ~; でも前回の論理演算の基礎が分かればわかるはず! MSXマシン語入門(Z80 アセンブラ・機械語) 第2…

MSXマシン語入門(Z80 アセンブラ・機械語) 第25回 論理演算の基本 勉強レポート

今回は論理演算について。 論理演算はBASICでもよく使われますねぇ〜。 ANDとかORとかいうヤツです。 マシン語では、グラフィックとか掛け算、割り算に代わるような 計算をするのによく使われるそうです。 私は一応知っていますが、内容をすぐ忘れてしまうの…

WebMSXでMSX BASICの自作ゲーム作成!第19弾。BASIC中で使ったマシン語の解説 その3

マシン語の最後の部分の解説をします。 最後は、画面描画です。 画面の端にいったら、一瞬で画面を描き換えて 隣の面にいく処理です。 BASICだと、1画面すべてを描き換えると かなり遅くなるのですが、マシン語なら一瞬です。 (なお、このページだけでは理…

WebMSXでMSX BASICの自作ゲーム作成!第18弾。 後半のマシン語部分を解説。その2

前回は、MSX BASIC自作ゲーム作成のところで使った、 マシン語を2つ解説しました。 WebMSXでMSX BASICの自作ゲーム作成!第17弾。 マシン語部分を解説。その1 - ニャオニャオ21世紀 今回は後半の2つのマシン語の解説をしたいと思います。 (なお、このペ…

WebMSXでMSX BASICの自作ゲーム作成!第17弾。 マシン語部分を解説。その1

今回は一部に使用したマシン語部分の解説をします。 別のコーナーで、マシン語勉強レポートをやってきたのですが、 それがこのプログラムで使用しているマシンコードのところまで やれたので、やっと説明ができます。 こんなゲームを作ってきました。 www.ny…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第24回 ループを作る。

やっと、ループを作るところにきました^^ 長かった〜。 これでやっとMSX BASICで使ったマシン語の説明ができます。 ループはとても大切。 それでは勉強して行きます! BASICだと、FOR~NEXTという命令があります。 マシン語には、DJNZという命令があるそう…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第23回 条件ジャンプ。これは大切!

今回はジャンプ命令の続きです。 条件ジャンプというのをやります。 絶対アドレスジャンプと相対アドレスジャンプの両方にあります。 まず、絶対アドレスジャンプの方を。 JP C, LABEL2 JP NZ , LABEL2 などと書きます。 LABEL2はただのラベルということはわ…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第22回 ジャンプ命令

今回はジャンプ命令です。 BASICではGOTOですね。 現代の言語には失われた命令ですw GOTOとかって評判悪いですからね〜。やっぱりややこしくなって しまうのが原因ですかね。 しかし大切な命令です。 ジャンプ命令には2種類あるそうです。 ・無条件ジャンプ…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第21回 比較命令

今回は比較命令です。 2つの数を比較します。 正攻法だと、 Aレジスタの内容とBレジスタの内容を比べる時は、 SUB B とします。(まだやっていませんが、Aレジスタ ー Bレジスタのことです。 引き算ですね。) すると、 2つのレジスタが同じ値ならゼロにな…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第20回 Fレジスタの使い方

今回はFレジスタ(フラグレジスタ)です。 レジスタなんですが、ちょっと変わったレジスタだそうです。 (いつものとおり、MSX マシン語入門講座という本で勉強します) データをロードしたり、他のレジスタとの間で 演算をすることは出来ないそうです。 名前の…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第19回 EX エクスチェンジ命令

今回は、EX(エクスチェンジ)命令です。 MSX FANに載っているマシン語を解析しているときに でてきました。 結構使うのでしょうか? 値を入れ替えるという命令です。 EX (SP) , HL これは、スタックトップの値と、HLレジスタの内容を入れ替えます。 うん?…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第18回 PUSH / POP命令とスタック

前回はスタックについて説明しました。 CALL / RETの時のスタックは、一時的に戻るアドレスを入れておくメモリの場所 のことでした。 SP ( スタックポインタ) は、そのアドレスを指し示すレジスタでした。 今回の勉強は、PUSH / POP 。 PUSH / POP はスタッ…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第17回 CALL命令のメカニズム

今日勉強するところはなんかややこしそう! CALL命令っていったら、 CALL C120H とか書いて、その番地に飛んで、 RET があったら、また戻ってくるというやつでした。 BASICでいうGOSUB ~ RETURNみたいなの。 別にメカニズムといっても、不思議なところはない…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第16回 サブルーチンの作り方

今回はサブルーチンの呼び出し方と、戻り方です。 命令自体はとても簡単です。 CALL と RET です。 BIOSのところでも出て来ました! BASICでいうところの GOSUB ~ RETURN に当たります。 スポンサーリンク // サブルーチンを呼び出すのは、 マシン語からマシ…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第15回 レジスタの値を増減する命令 INC DEC

今回はとても簡単で、便利な命令です。 +1増加するのが、INC (インクリメント) -1減少するのが、 DEC (デクリメント) です。 例:ニーモニックは、 ① INC B レジスタBの中身を1増やします。 ② DEC (HL) HLレジスタでアドレスを指定されるメモリの内容を1減…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第14回 前回とは逆の、VRAMからメモリへブロック転送 LDIRMV

// 今回はVRAMからメモリへのブロック転送です。 前回とは逆になります。 どんな時にこれらのBIOSルーチンを 使うのかと言いますと、 画面のデータをメモリへ写して、そこで改変して、再びVRAMへ 戻してやるような時です。 前回スクロールに使うと書きました…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第13回 メモリからVRAMへブロック転送 LDIRVM

// ブロック転送というのは、いっぺんに大量のメモリの内容を、 別のメモリのアドレスに写すというものです。 コレができると、マップの画面切り替えとか、 そういったことができるようになります。 マシン語ではこれが一番やりたいんですよね〜。 BASICでは…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第12回 BIOSを使う

// BIOS!よく聞きます。 詳しい意味は最近知りました; マシン語では必要になってくるというか、使うととても便利なもの だそうです。 MSXのROMには、BASICインタープリタとBIOSが入っています。 BASICインタープリタは、BASICプログラムを翻訳しMSXで動く…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第11回  引数を渡す

MSXマシン語勉強レポート 第11回は、 引数を使って、BASICからマシン語のプログラムに値を渡します。 使うのはUSR関数の引数です。 USR関数に引数をつけてマシン語をコール ⬇︎ HLレジスタに入っているアドレスの2バイト先に、引数として渡した数が入る む…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート  第10回 BASICの中からマシン語を呼び出す

今日は、MSX BASICの中から、マシン語を呼び出す方法を勉強しました。 前回のページはこちらです。 www.nyaonyao21.com 最近はWebMSXで動かす、BASICで書かれたゲームの記事を 書いていますが、 www.nyaonyao21.com 処理が遅く、マシン語の必要性を感じてき…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート  第9回 16ビットロード命令

// お久しぶりです。 最近は体調が悪く、更新を怠っていましたが、また再開していきたいと 思います。宜しくお願いします。 前回はマシンコードの求め方で8ビットのロード命令をやったと思います。 LD A,9 LD (D800H),A とかいうやつですね。 nyaonyaokun.h…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート  第8回 マシンコードの求め方

// いよいよマシンコードを書きます。 LDとかを16進数の打ち込む数値にしていきます。 勉強本の続きを読んでいきます。 どうやるのかな〜。興味はつきません。 前回のブログ: nyaonyaokun.hatenablog.com うむうむ。 なんか表を見ながら当てはめていくだけ…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート  第7回 ロード命令

// 今日からマシン語の命令を一つづつやっていきたいと思います。 まず最初はロード命令です。 このロード命令はすべての基礎になるそうです。 では始めます。 その前に、以前用意すると言った、マシン語のプログラムをMSXで動かすのに必要な、BASICモニタで…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート  第6回 いよいよマシン語の基礎へ

// MSXマシン語(Z80 アセンブラ)の基礎を始めたいと思います。 MSX Z80アセンブラに入るまでが長かった; いわゆるマシン語とはどういうものかから入っていきたいと思います。 (僕の買った本は小学生でもわかるレベルの本らしいので 非常にわかりやすく、し…

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

今日はメモリ構成をやりました! その前に 2の補数表示というものの説明をしたいと思います。 MSXマシン語(Z80 アセンブラ)勉強レポート 第4回 Z80の中身 - MSXマシン語(MSX Z80 アセンブラ)勉強レポート!iOS androidゲーム開発!nyaonyao21の開発室 nyao…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第4回 Z80の中身

そんなこんなで第4回目です。 今回はZ80の中身がどうなっているかを勉強しました。 うん、面白いです! 噛み砕いてレポートを書きたいと思います。 MSXマシン語(Z80 アセンブラ)勉強レポート 第3回 16進数 - MSXマシン語(MSX Z80 アセンブラ)勉強レポー…


「ニャオニャオ21世紀は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」

当サイトは第三者配信の広告サービス「Google Adsense グーグルアドセンス」を利用しています。 広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。 Cookie(クッキー)を無効にする設定およびGoogleアドセンスに関する詳細は「広告 – ポリシーと規約 – Google」をご覧ください