忍者ブログ

yoshikiyo Lab

自称makerのブログ。電子工作とかテスラコイルとか 「とりあえず動けばいい」そんな適当すぎるものづくりをしています。

   

Z80開発環境構築

80の開発環境の構築について

Z80のソフトウェア開発はアセンブリ言語を用いて行います。
アセンブリ言語(単純にアセンブラと呼ばれることのほうが多い)は、
コンピュータが理解できるマシン語を人間がわかりやすいように記述したものです。
したがってアセンブリ言語からマシン語への変換作業が必要になります。

手作業でマシン語に変換する「ハンド・アセンブル」という手法もありますが
非常にめんどくさいので「Z80アセンブラ」を使用してこの作業を自動化します。

書き込みまでの流れ
------------------------------------------------------------------
アセンブリ言語記述

アセンブラ(ハンド・アセンブルでもOK)

マシン語

HEXファイル(ROMライターによる。なくてもOK)

ROMライター

ROM化
------------------------------------------------------------------

アセンブラにはASxxxx Cross Assemblersを使用します。
HPトップ下のほうの「Get the "ASxxxx Cross Assemblers"」


実行ファイルだけあればよいので「Executables Only Distributions」から
「VS 2015 executables as a zipped file (7353K)」をダウンロード
windows10環境なので、できるだけ新しいVSでコンパイルされたものを選択


ダウンロードしたファイルは解凍して適当な場所に保存しておきます。
様々なCPUに対応したアセンブラがまとめて圧縮されています。
この中で必要なのは「asez80.exe」と「aslink.exe」だけです。
「asez80.exe」がアセンブラ本体で「aslink.exe」はHEXファイルを作るときに必要です。


ASxxxxアセンブラはコンソールアプリケーションなのでコマンドプロンプトから
引数をセットして使用します。


これだと何度もアセンブルする場合に大変なのでバッチファイルを作成して
「TeraPad」に組み込んで開いたファイルを直接アセンブルできるようにしています。


「asez80.exe」を起動するバッチファイルを作成して
そのバッチファイルを「TeraPad」から起動するという流れです。
バッチファイル


「TeraPad」へツール登録


アセンブラを実行するといくつかのファイルが生成されます。
.lstファイルの中身を見てみます。赤枠部分にアドレスとマシン語が記載されています。
正常にアセンブルできていることがわかります。


ソースコードにエラーがある場合はエラー行のメッセージが出力されます。
この出力ファイルを「aslink.exe」に与えることでHEXファイルを生成することもできます。
とりあえずアドレスとマシン語がわかれば何とかなるのでこれで終了です。
ROMライター側がまだ HEXファイル形式に対応していないので.......

今回は「TeraPad」と組み合わせましたが
「TeraPad」だとアセンブリ言語にシンタックスハイライトがつかないので
ほかのエディタに統合して使ったほうがよさそうです。

結局ソースファイルの編集は「Visual Studio Code」使っていますし....
こっちはアドオンを入れることで色分けしてくれます。

拍手[0回]

PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

最新コメント

[08/21 coiler]
[08/21 yoshikiyo]
[08/21 coiler]
[08/20 yoshikiyo]
[08/20 coiler]

カレンダー

05 2019/06 07
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

ブログ内検索

カウンター

Copyright ©  -- yoshikiyo Lab --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]