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