メインフレームのアセンブラー入門に使えるz390エミュレーター

By 神居 - Posted: 2017/01/24 Last updated: 2017/01/24 - Leave a Comment

z390 Portable Mainframe Assembler and Emulator

「z390 Portable Mainframe Assembler and Emulator」(以下z390と表記)は、IBMのzアーキテクチャーのCPU命令の実行をエミュレートするWindows/Linuxで動くソフトウェアです。
IBMのメインフレーム用アセンブラー言語で書かれたプログラムをアセンブルしてオブジェクトコードを生成し、それを入力にしたリンケージエディターを実行して実行形式ファイルを作り、PC上で実行させることができます。z390では、単一イニシエーターによるバッチジョブのイメージでメインフレーム・プログラムを実行できます。一般的なAPIとファイルアクセスがサポートされているので、基本的なプログラムであればメインフレームのアセンブラーまたはCOBOLで書いたプログラムをWindowsのコマンド・プロンプトで実行させることができます。
無料で利用できるオープンソースのソフトウェアで、アセンブラー言語の学習には十分な機能を備えています。企業の業務処理用にアセンブラー言語のプログラムが作られることはほとんどなくなりましたが、メインフレーム・コンピューターとz/OSの内部の仕組みや機能をより深掘りして勉強したい、という方にはうってつけのツールです。インストーラーなしで使えるのでPCを汚すこともなく手軽に試すことができます。



z390エミュレーターのインストール

z390エミュレーターは、配布元のWebサイト(http://www.z390.org/)からダウンロードして入手します。

image002

配布元サイトに繋げたら、画面左側ナビゲーションの「Download Links」を選択します。

image005

ダウンロードするファイルは、Linux用の「z390 v1506 files.zip」です。Windowsであってもこれを選択します。Windows用のSetupファイルでもかまいませんが、インストーラーによって導入され、Cドライブのuserフォルダーから先の奥深いフォルダーに作られてしまい、コマンドプロンプトで使うには面倒です。コマンドプロンプトではなく、Guiウィンドウで試したい場合はそちらを選択してもいいと思います。その場合は、以降の解説はあてはまりませんのでヘルプやドキュメント・ファイルを参照して進めて下さい。
「z390 v1506 files.zip」をダウンロードしたら、zipファイルの中にあるz390フォルダーをフォルダーごと適当な場所(デスクトップなど)にコピーします。

続いて以下に示す3つのファイルをダウンロードして、z390フォルダーにコピーします。
※以下のファイルは配布元のz390には含まれていない、当サイトが独自にカスタマイズしたものです。

以下のファイルは必要ならばダウンロードして下さい。

z390フォルダー内に適当な名前のサブフォルダーを作ります。例えば「myasm」です。そのフォルダーに適当な名前(例えば「myprog.txt」)でアセンブラーのソースプログラム・ファイルを作ります。メモ帳などのテキストエディターで作成して保管すればいいでしょう。
@z390.lnkをダブルクリックしてコマンドプロンプトを起動して、asmgoバッチファイルでアセンブルと実行を試すことができます。なお、z390エミュレーターはJavaで作られているので、実行にはJavaのランタイムがインストールされている必要があります。ほとんどのパソコンにはJavaはインストールされているでしょう。

asmgo myasm\sample

asmgoコマンドの後、空白を置いてサブフォルダー名\プログラム名を第1パラメーターとして指定します。プログラム名はソースプログラムのファイル名から拡張子を取ったものです。sample.txtならsampleと指定します。
第2パラメーターには追加のオプションを指定できます。

オプション名意味
noobjアセンブルのみを行い、リンケージと実行はしない
dump実行時にABENDしたらダンプ・リストも出力する


asmgo myasm\sample noobj
asmgo myasm\sample dump

asmgoバッチファイルは、z390エミュレーターのコマンドを実行するためにカスタマイズしたものです。ただのテキストファイルなので、必要ならばメモ帳などで内容を見て自由に直して下さい。z390エミュレーター自体の詳細については、Webサイトにあるドキュメントを参照するかダウンロードして下さい。
アセンブル・リストやダンプ・リストの形式、PSWの設定値など実機のz/OSとは異なりますが、メインフレームの機械命令の動きを確認したり、アセンブラー言語プログラムの書き方に慣れるには十分利用できるツールです。DC命令で定義した値が実際にどのようにメモリーに格納されるか、命令の実行によってレジスターやメモリー内容がどう変化するか、といったことは実機同様に確認することができます。

Posted in S/370アセンブラー講座, メインフレーム・エミュレーター • • Top Of Page