アセンブリ言語で書かれたX680x0/Human68k向けの
クワイン
です。
無保証につき各自の責任で使用して下さい。
HAS060.Xの.insert
疑似命令を使用します。
ただし、クワインの定義にもよりますがこの手法は正統派からはクワインとは見なされないようです。
quine2gen.rによって出力されるquine2.sがクワインとなります。
quine3gen.rによって出力されるquine3.sがクワインとなります。
標準Cライブラリのprintf()
を使用します。
gccから呼び出されるアセンブラが、256バイト以上の長い文字列リテラルに対応している必要があります。
PCやネット上での取り扱いを用意にするために、src/内のファイルはUTF-8で記述されています。 X68000上でビルドする際には、UTF-8からShift_JISへの変換が必要です。
あらかじめ、u8tosjをビルドしてインストールしておいてください。
トップディレクトリでmake
を実行してください。以下の処理が行われます。
- build/ディレクトリの作成。
- src/内の各ファイルをShift_JISに変換してbuild/へ保存。
次に、カレントディレクトリをbuild/に変更し、make
を実行してください。
実行ファイルが作成されます。
ファイルを適当なツールで適宜Shift_JISに変換してからmake
を実行してください。
UTF-8のままでは正しくビルドできませんので注意してください。
GNU GENERAL PUBLIC LICENSE Version 3 or later.
TcbnErik / https://github.com/kg68k/quinex