countersince January 6, 2001X68000 LIBRARYEnglish
更新日: 2023 年 7 月 10 日
X68000 LIBRARY > ソフトウェアライブラリ > プログラミング > アセンブラ > HAS060.X > 最初にお読み下さい

最初にお読み下さい

説明

HAS060.X の添付ドキュメントです。

README.DOC
────────────────────────────────────
                  High-speed Assembler ─ 68060 対応版
                        HAS060.X version 3.09+91

                        < 最初にお読み下さい >

                               2023/07/07
                                M.Kamada
────────────────────────────────────

 HAS060.X は、ハイスピードアセンブラ HAS.X v3.09(中村祐一氏作)を改造
して 68060 と ColdFire に対応させたものです。68060 や ColdFire への対応
の他にも機能の拡張や不具合の修正など多くの点が改良されており、68060 を持
っていなくても使えるようになっています。

 HAS060.X を使用する前に、必ず、このファイル(README.DOC)と動作マニュ
アル(HAS060.DOC)をよく読んで下さい。また、HAS.X v3.09 のドキュメントも
一度最後まで読んでおくことをお勧めします。



━< 主な特徴 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 HAS.X v3.09 をベースにして HAS060.X で追加・変更・修正された主な箇所は
以下の通りです。


  追加機能
        ・68060 の命令に対応
        ・ColdFire の命令に対応(暫定)
        ・4 桁までの数字ローカルラベルを使用可能(スイッチ -s<n>)
        ・software emulation の命令をワーニングで通知
        ・68060 のエラッタの対策(スイッチ -k)
        ・絶対ロングを OPC 間接に変換する(スイッチ -1)
        ・PC 間接をすべて絶対ロングにする(スイッチ -b2/-b4)
        ・すべての最適化を禁止する(スイッチ -c0)
        ・(d,An) の最適化だけ禁止する(スイッチ -c1)
        ・64 ビットの整数を記述可能
        ・浮動小数点数のオペランドにサイズを指定すると丸め処理を行う
        ・software emulation の命令の展開(スイッチ -c<mnemonic>)
          (FScc/MOVEP)
        ・プレデファインシンボル機能(スイッチ -y)
          (CPU/__HAS__/__HAS060__/__DATE__/__TIME__)
        ・最適化の強化(スイッチ -c4)
          (ADDA/ADDI/ASL/BSR/CLR/CMP/CMPA/CMPI/JBSR/JMP/JSR/LEA/MOVE/
            MOVEA/SUBA/SUBI)
        ・マクロに指定されたサイズと引数の個数を使用可能(.SIZEM)
        ・条件 cc に対して逆条件 Ncc を使用可能
        ・.ELSEIF を .ELIF と記述できる
        ・JBRA/JBSR/JBcc にサイズ指定可能
        ・CCR/SR の無効ビットの操作を通知
        ・任意のファイルをオブジェクトに取り込める(疑似命令 .INSERT)
        ・.DC のデータに個別にサイズを指定できる
        ・マクロの中で @〜 の形のシンボルが自動的にローカルになる
        ・レジスタリストや文字列の占有バイト数を求める演算子 .SIZEOF.
        ・シンボルが定義済みかどうかを調べる演算子 .DEFINED.
        ・TRAPcc を TPcc と記述できる
        ・スタックフレームの記述に便利な疑似命令 .OFFSYM
        ・.SET/.OFFSYM のシンボルの上書き禁止条件の強化(スイッチ -j)
        ・浮動小数点数を含む式で比較や整数演算の演算子が使える
        ・.NOT. の変化形の .NOTB./.NOTW. を追加
        ・リストファイルのコード部の幅を変更できる(スイッチ -f,,,,c)

  変更箇所
        ・メッセージの日本語化と細分化
        ・terminator not found をエラーに格上げ
        ・オペランドに記述できないサイズの整数はエラーになる
        ・浮動小数点数のオペランドでは整数は 64 ビットの範囲で扱われる
        ・アセンブル対象の CPU のデフォルトは常に 68000
        ・環境変数 HAS がコマンドラインの手前に挿入される
        ・インクルードファイルの検索はカレントディレクトリを優先
        ・-w[n] と -f[f,m,w,p] について数値の手前の空白を認めない
        ・疑似命令の数値引数の制限を緩和
        ・-d 指定時でもマクロ内ローカルシンボルを外部定義にしない
        ・ソースファイル名が複数指定されたらエラー
        ・.DC で文字列を“,”で区切らず連結して指定できる
        ・引数の個数が決まっている疑似命令の行末のチェックを強化
        ・.DS の引数が負数のときエラーまたはワーニングで通知
        ・整数を浮動小数点数の内部表現と見なすときワーニングで通知

  修正箇所
        ・スケールファクタを使うとバスエラーが出ることがある不具合を修正
        ・(bd,PC) の最適化の不具合を修正
        ・DIVUL/DIVSL の不具合を修正
        ・CHK の不具合を修正
        ・BTST Dn,#<data> の不具合を修正
        ・PMOVE #<data>,<CRP/SRP/DRP> の不具合を修正
        ・MOVE (d,OPC),(d,An) の不具合を修正
        ・CINV/CPUSH を行頭から書くと DC が指定できない不具合を修正
        ・PMOVE を行頭から書くと SCC/VAL が指定できない不具合を修正
        ・負の整数から浮動小数点数への変換を間違える不具合を修正
        ・1.E+10 を浮動小数点数として解釈できずエラーになる不具合を修正
        ・.ALIGN 1 がエラーにならない不具合を修正
        ・.OFFSET の中の .ALIGN がオブジェクトに出力される不具合を修正
        ・.OFFSET の中の .DS で行頭のシンボルを使えない不具合を修正
        ・.END の右側にラベルを書かないと注釈を書けない不具合を修正
        ・.ENDIF が足りないとき異常な動作をすることがある不具合を修正
        ・シフト・ローテート命令のエラーメッセージを修正
        ・メモリが不足しているときに誤動作する可能性がある不具合を修正
        ・コマンドラインで '=' の扱いがおかしい不具合を修正
        ・-o./foo のように記述すると拡張子の .o が補完されない不具合
        ・.IF などの引数に浮動小数点数が含まれていると誤動作する不具合
        ・マクロの中のローカルシンボルが多すぎるとバスエラーが出る不具合
        ・!= が使えなくなっていた不具合
        ・文字列→浮動小数点数変換で正確に表現できる数に誤差が入る不具合
        ・BRA.L の後に .CPU 68000 があるとアセンブルできない不具合



━< ファイル構成 >━━━━━━━━━━━━━━━━━━━━━━━━━━

 HAS060.X v3.09+91 のファイル構成は、以下の通りです。


 HAS06091.LZH  バイナリアーカイブ
                HAS060.X の実行ファイルとドキュメントが入っています。

        README.DOC      最初にお読み下さい
        HAS060.DOC      動作マニュアル
        HAS060.X        実行ファイル本体
        DEBUGGED.DOC    HAS060.X で修正された HAS.X v3.09 の不具合
        KNOWNBUG.DOC    既知の不具合
        HISTORY.DOC     更新履歴
        PROJECTS.DOC    改良構想メモ (旧)

        HANOI.S         アセンブラでハノイの塔を解くプログラム
        K_MACRO.MAC     構造化マクロ定義ファイル


 HASSRC91.LZH  ソースアーカイブ
                HAS060.X のソースリストが入っています。

        Makefile        doscall.mac
        cputype.equ     eamode.equ      error2.equ      has.equ
        register.equ    symbol.equ      tmpcode.equ
        doasm.s         eamode.s        encode.s        error.s
        error2.s        expr.s          fexpr.s         file.s
        macro.s         main.s          objgen.s        opname.s
        optimize.s      pseudo.s        regname.s       symbol.s
        work.s


 HASDAT91.LZH  資料アーカイブ
                アセンブラに関係する資料が入っています。

        M68K.DOC        M68K ファミリの全命令のフォーマット
        COLDFIRE.DOC    ColdFire 命令一覧 (旧)



━< 修正された不具合 >━━━━━━━━━━━━━━━━━━━━━━━━

 HAS060.X では、HAS.X v3.09 に存在した不具合の多くが修正されています。

 HAS.X v3.09 に存在していて HAS060.X で修正された不具合の詳細については、
DEBUGGED.DOC を参照して下さい。



━< 修正されていない不具合 >━━━━━━━━━━━━━━━━━━━━━

 HAS060.X の既知の不具合については、KNOWNBUG.DOC を参照して下さい。



━< 著作権について >━━━━━━━━━━━━━━━━━━━━━━━━━

 基本的な部分の著作権は、HAS.X v3.09 の原作者の中村祐一氏にあります。

 改造部分の著作権は、改造者(M.Kamada)にあります。



━< 動作保証について >━━━━━━━━━━━━━━━━━━━━━━━━

 HAS060.X は正しく動作することを期待して作成しましたが、無保証です。万
が一、HAS060.X を使用することで結果的に損害を被ったとしても、HAS060.X を
使用した人の責任になります。

 HAS060.X の不具合を発見した場合は、改造者(M.Kamada)まで、速やかに報
告して下さい。



━< 最新版の入手方法 >━━━━━━━━━━━━━━━━━━━━━━━━

 HAS060.X の最新版とそのソースリストは X68000 LIBRARY にあります。HAS.X
v3.09 のアーカイブもここで入手できます。

        X68000 LIBRARY
        http://retropc.net/x68000/



━< 配布規定 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 HAS060.X はフリーウェアです。

 HAS060.X を転載するとき、HAS060.X のアーカイブに含まれているファイルの
内容とタイムスタンプを一切変更しないで下さい。ただし、アーカイブの型式は
特に制限しません。

 HAS060.X を転載する場合は、HAS.X v3.09 のアーカイブも一緒に入手できる
ようにするか、その所在を明記して容易に入手できるようにして下さい。

 HAS060.X をさらに改造したものを配布するときは、改造の規模に関わらず必
ずプログラム名を変更し、HAS.X および HAS060.X と異なることを明確にして下
さい。

 HAS060.X をさらに改造したものが配布された場合、改造内容のアイデアを
HAS060.X にフィードバックすることがあります。



━< お願い >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 HAS060.X は長期間に渡ってバージョンアップを続けているため、転載が古い
バージョンで止まってしまっている BBS があるようです。

 HAS060.X を転載した場合は、今後のバージョンアップの際にも転載していた
だけると、古いバージョンに対するバグ報告などが減ってサポートしやすくなり
ます。

 転載を継続できない場合は、転載先でその旨を宣言し、他の人に転載を引き継
いでもらうか、利用者に別の場所で最新版を入手することを促して下さい。

 行きつけの BBS や Web ページなどで、今回のバージョンよりも古いバージョ
ンの HAS060.X がアップロードされたまま放置されているところを見つけたとき
は、転載した人に更新を促すか、転載を代行して下さい。



━< 謝辞 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 HAS.X v3.09 の作者であり、ソースリストを提供して下さった中村祐一氏に感
謝致します。

 HAS060.X の開発には、以下のツールを使用しました。作者の方々に感謝致し
ます。

        DIS.X v2.78+04 K.Abe/R.ShimiZu/syo.
        HAS.X v3.09 Y.Nakamura
        LK.X v3.00 SHARP/Hudson
        しゃれまっくす rel5c6 lika/homy/salt/peace/shuna/rima/sharl

 バグ報告や最適化関連の情報を提供して下さった皆さんにも感謝致します。今
後も引き続き情報提供をお願い致します。



━< 連絡先 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 改造によるエンバグなどの報告、質問などは、改造者(M.Kamada)まで、速や
かにご連絡下さい。

        STUDIO KAMADA
        https://stdkmd.net/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


(EOF)