2017年2月27日月曜日

PTA7の使い方

パソピア/7のアセンブラ/逆アセンブラで、PTAという便利なソフトがありました。
リクエストがあったので、簡単に使い方の紹介です。

[編集]
(1) In: n行に行追加。I100だと99と100行目の間に挿入。最後に挿入の場合はIE
(2) T: ソースの修正
(3) Kn,m: nからm行まで削除
(4) Fxxxx: 文字列xxxxを検索
(5) Sxxxx: カセットに保存。ファイル名xxxxは30文字以内
(6) Vxxxx: カセットに保存したファイルのベリファイ
(7) Lxxxx: カセットからの読み込み。
(8) T: テキストの表示
(9) O: テキストの表示とプリンターへの出力

[アセンブラ]
(1) T: テキストを全行表示
(2) O: テキストの表示とプリンターへの出力
(3) In: n行に行追加。I100だと99と100行目の間に挿入。最後に挿入の場合はIE
(4) K: 1行削除
(5) N: テキストをクリア
(6) /: ラインポインタのカレントとラスト、ソースの開始と終了アドレスを表示
(7) Fxxxx: 文字列xxxxを検索
(8) A: アセンブル
(9) AP: アセンブルしてプリンターにも出力
(10) AN: アセンブルするがリストは表示しない
(11) Q: アセンブルの後、ラベルを表示
(12) CT: テキスト格納開始アドレスの表示・変更
(13) CZ: テキスト格納終了アドレスの表示・変更
(14) CW: アセンブラのラベル・ワーク開始アドレスの表示・変更
(15) CE: ラベル・ワークの終了アドレスの表示・変更。開始時は$F7F0

[逆アセンブラ]
(1) Unnnn,mmmm: nnnnからmmmmまで逆アセンブルしてCRTに表示
(2) USnnnn, mmmm: nnnnからmmmmまでのアセンブルリストを表示して、現在のソースの後に逆アセンブルしたソースをアペンド

[モニタ]
(1) Dnnnnn,[mmmm]: nnnnからメモリダンプ。終了アドレスmmmmは省略可能
(2) Wnnnn: nnnnアドレスにメモリ書き込み。テンキーで16進数、スペースで次アドレス、[-]キーで前アドレス、Returnキーでコマンド待ち
(3) Xnnnn,mmmm,ssss: 転送開始アドレス(nnnn)から転送終了アドレス(mmmm)までを転送先アドレス(ssss)へ転送
(4) Jnnnn: 機械語アドレス実行
(5) Hnnnn,mmmm,Xaaa...a: nnnnからmmmmの間でaaa...aで指定された16進数を検索。aaa...aは2文字単位
(6) Hnnnn,mmmm,Cbbb...b: nnnnからmmmmの間でbbb...bで指定されたキャラクタでサーチ
(7) プログラム実行中にRST 38Hがあるどその時点のレジスタを表示

[文法]
(1) フォーマット:△は1文字以上のスペース、( )は省略可能
(ラベル:)△ニモニック△オペランド△(;コメント)
または
;コメント
(2)定数
10進: 0~9の数字
16進: 先頭に$
文字: "で括られた1文字
(3) オペランド
定数またはラベルが使え、+/-による演算が可能
(4) 疑似命令
ORG n: ロケーションカウンターをnにする
OFS m: オフセット値の設定
EQU: ラベルの定義
DW: 2バイト定数
DB: 1バイト定数
DS n: nバイトのエリア確保
DM: "で括られた文字はASCIIコードで、それ以外は16進でセット
*: ロケーション・カウンターシンボル

アセンブラ表記はちょっとクセがあるようです。
8bit論理演算ニモニックはAレジスタを省略して記載する: ADD A,B→ADD B
IM命令はスペースを空けてIM 0のように記載

当時は非常に使いやすいと感じたのですが、いまならエミュレータ付属のデバッガが使いやすいです。(特にステップ実行とか重宝しています)

何かの参考になれば。。



1 件のコメント:

  1. zakさん

    詳しい解説ありがとう御座いました。
    お礼が遅くなってしまい申し訳ありませんでした。。

    返信削除