- ASKAのホームページ → [[Z:ASKA]]
- MASMの10倍マシらしい
- 「MASMが読めなくても、ASKAは読める」
- 「MASMは実際以上に難しく見えるが、ASKAは実際程度にしか難しくない」(読むだけならね)
- 「書くのはMASM並みの知識が必要不可欠です。本質は相変わらずアセンブラなのです」
- 「でも、読みやすいから、デバッグは楽ですよ、すごく」
- 「一回慣れたら、二度と戻れない、麻薬の世界です(笑)」
- C言語風の見た目
そろそろいいかな? 2003/9/13 [1]
さて、この版のASKAも、各種テスト(OSASKの3.9・4.0をビルド)を経て、まず動作には問題なかろうという感じのようだ。
そんなわけなので、この版を、正式な? β20として提案しようと思う。
- やんなきゃいけないこと
- まず、バージョン表記から「test」の文字を削除する。
- ASKA Ver1.0 Beta20_test-0.0.2 Modified by hideyosi & I.Tak.
↓
- ASKA Ver1.0 Beta20 Modified by I.Tak.
- historyを、I.Tak.さんが作ってくれたものに差し替える
<ASKA Ver1.0β19> Modified by RisaPapa
2001/12/06
・英語にローカライズ
・エラー終了をコマンドの返り値に反映
<ASKA Ver1.0β20> Modified by hideyosi & I.Tak.
2003/08/01
・Linux対応 (-DLINUX)
・CRLF以外の改行コード(UNIX, Mac)と改行コード以外で終わるファイルに対応
・Usageに残っていたSJIS文字を修正
・エラーがないときはエラー数を表示しない
・最終行に改行がないソースで不具合が起こるバグを修正
- copylightを、一般的なKL-01のものに差し替える
- 元となったβ19eは、ライセンスが未確認だったようだが、派生したβ20をKL-01として公開することに、RisaPasaさんがOKを出してくれました。(確認済み)
- この版を元に、コンパクトなWin32用のEXEを作る
- 今原さんからアドバイスを頂き、この版でも65.5KB(UPX)という小さなバイナリを作ることができました。
- そんなわけなので、改めてこれを、「β20としてはどうか?」と、川合さんにご提案させていただきます。
- 動きました。簡単なソースを処理させましたが, 三種の改行コードをみな認識できてます。しかし, 改行コードなしの行でソースが終わる場合誤動作します (運がいいとしませんが)。つうわけで(^^; 適当に(オリジナルに対する) パッチをまとめつつ修正してみました。http://user.ecc.u-tokyo.ac.jp/~g240845/osask/lzh/aska_test-0.0.2.patch.gz[4] 使い方はファイルの先頭に書いてあります。 -- I.Tak.[5] 2003-08-01 (金) 11:12:07
- I.Takさん感謝~。うーん・・・なるほど!そうかこうやるのか!。勉強になりますたぁ。こんな洗練された方法があるんですね。C++おそるべし!(・・・つーか、自分でもいってますけど、知らないとはいえ、私がやった方法って、荒っぽいんですねぇ。 (^^;) ) -- hideyosi[6] 2003-08-01 (金) 14:17:22
- ちは。なんか面白そうな。ところで、ASKAの元になった仕様が閲覧できるか気になる、と言ってみる。 -- Gaku[7] 2003-08-02 (土) 11:54:37
- ASKAの元になった仕様 (めざす言語仕様?)……それはOSASKのように川合さんのみぞ知るところだと思います(^^; ソースに付いてるhistoryの最後の方にToDoが書いてあるので, それを見るとなにをしたいのか分かるかも。ちなみにデコードキャストというのは出力形式を明示的に指示するもので, 普通なら xor eax, eax になる EAX=0; を (mov)EAX=0; と書くと mov eax,0 になるとかそういうものです。 -- I.Tak.@帰省[8] 2003-08-03 (日) 20:48:53
- ソース読めば良いんですが、ASKAのソースは仕様に遠く及ばないようなので。追及は気が向いたときにやることになりますか。 -- Gaku[7] 2003-08-05 (火) 21:20:16
- ASKAは386|ASM用ソースを出力するのでnaskcnv0がないと使えない。naskcnv0も移植してみました。http://home1.catvmics.ne.jp/~msy/tak/naskcnv0.tar.gz[9] gas2naskよりも真面目に移植したつもり。 -- I.Tak.[5] 2003-08-14 (木) 09:14:52
- txt2binとosalink1はそのままコンパイルできるので, Makefileを直せばLinuxでOSASKがコンパイルできるはず……なんでtxt2binはソースと一緒に配布されてるんだろ? -- I.Tak.[5] 2003-08-14 (木) 09:21:26
- すみませーん、上記のソースと実行形式をダウンロードし直そうと思ったんですが(前にダウンロードしたやつが事故で消えまして・・・)、ダウンロードできません。誰か再uploadをお願いします。 -- K[10] 2003-10-10 (金) 23:08:18
- Kタン<すいません。これまだ復旧してませんでした。入手できましたか?もしまだなら、12時くらいまで待っていただければ、復旧できますが。 -- hideyosi[6] 2003-10-11 (土) 08:44:14
- はい。まだ入手できていません。いつまででも待ちますので、復旧したらここに書き込んでください。 -- K[10] 2003-10-11 (土) 09:29:59
- おまたせしました。これでOKのはずです。更新してありますので、ダウンロード、よろしくお願いします。 -- hideyosi[6] 2003-10-11 (土) 11:24:28
- I.Tak.さんへ:上記バージョンのバイナリでテストしたところ、エラーがなくても毎度の「Error Counts >>> Scanner:0, Parser:0, Generator:0」が出てますが、これはそういう仕様なんでしょうか?それともパッチ作成ミス??? -- K[10] 2003-10-11 (土) 13:20:29
- 私が出したパッチは、簡単に元に戻せるように大概の修正部分を #ifdef LINUX で囲ってあったんです (windowsで使う・テストする気が無かったので)…うっかり忘れてhistoryを書いてしまったようです(^^;;; #ifdef LINUX は要らなかったら消してください。 -- I.Tak.[5] 2003-10-11 (土) 20:08:36
- 具体的には、parser.cppとmodule.cppに、不当にLinux用となっているところがあります。windowsでチェックして、動くならifdefをはずしてください>hideyosiさん -- I.Tak.[5] 2003-10-11 (土) 20:32:25
- g++(GCC)4.0.2使用でコンパイルしました。modules.hの40行目で引っかかるようです。代入できないと怒られます。マクロ(macro.h)を参考に手で展開した後、del (unsigned char *)…とやって回避しました。 -- くーみん
- ASKAをASKAで書き直したらどれくらい小さくなるのでしょう? -- 名無しさん[11]
- たぶん今のnaskの1.5倍くらいで収まるのではないかなあ。 -- K[10]
- 1.5倍 == 75KB でしょうか? -- ZwergSpitz
- 1.5倍 == 75KB でしょうか? -- ZwergSpitz
- 1.5倍 == 75KB でしょうか? -- ZwergSpitz
- 時間が出来たので、ASKAを弄ってみようと思い来てみましたが、ソースとバイナリのリンクが切れているようです。他に何処かに配布してますか? -- ZwergSpitz
- hideyosi.zive.net/~hideyosi を www2.hideyosi.com に書き換えるとダウンロードできそうです。 -- Zakky
- ↑ダウンロードできました。ありがとうございます。 -- ZwergSpitz
- 荒らしがやまないので、こめんと欄を一時的に外しました。必要なら復活させてから書き込んでください。--by K,2006.05.27
- おきまりの突っ込み:ASKSってなんですか? -- K[10] 2003-07-26 (土) 00:45:31
- っていうかASKAをCで書き直したい・・・。そしたら小さくなりそうだし。でも当分できそうにない・・・。実はNASKの最適化ルーチンはそのままASKAでも使えるように準備してあったりするのです。これが報われるのはいつになることやら。 -- K[10] 2003-07-26 (土) 00:46:40
2003/08/02 08:10 以下に書かれていた移植までの記録を、ASKAをLinuxに移植してみた記録[12]に移しました。 [13]