ページへ戻る

+ Links

 印刷 

hideyosi​/OLD​/ASKA :: OSASK計画

osaskwiki:hideyosi/OLD/ASKA

  • ASKAのホームページ → [[Z:ASKA]]
  • MASMの10倍マシらしい
    • 「MASMが読めなくても、ASKAは読める」
    • 「MASMは実際以上に難しく見えるが、ASKAは実際程度にしか難しくない」(読むだけならね)
    • 「書くのはMASM並みの知識が必要不可欠です。本質は相変わらずアセンブラなのです」
    • 「でも、読みやすいから、デバッグは楽ですよ、すごく」
    • 「一回慣れたら、二度と戻れない、麻薬の世界です(笑)」
  • C言語風の見た目

そろそろいいかな? 2003/9/13 anchor.png

さて、この版の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 使い方はファイルの先頭に書いてあります。 -- I.Tak. 2003-08-01 (金) 11:12:07
  • I.Takさん感謝~。うーん・・・なるほど!そうかこうやるのか!。勉強になりますたぁ。こんな洗練された方法があるんですね。C++おそるべし!(・・・つーか、自分でもいってますけど、知らないとはいえ、私がやった方法って、荒っぽいんですねぇ。 (^^;) ) -- hideyosi 2003-08-01 (金) 14:17:22
  • ちは。なんか面白そうな。ところで、ASKAの元になった仕様が閲覧できるか気になる、と言ってみる。 -- Gaku編集 2003-08-02 (土) 11:54:37
  • ASKAの元になった仕様 (めざす言語仕様?)……それはOSASKのように川合さんのみぞ知るところだと思います(^^; ソースに付いてるhistoryの最後の方にToDoが書いてあるので, それを見るとなにをしたいのか分かるかも。ちなみにデコードキャストというのは出力形式を明示的に指示するもので, 普通なら xor eax, eax になる EAX=0; を (mov)EAX=0; と書くと mov eax,0 になるとかそういうものです。 -- I.Tak.@帰省編集 2003-08-03 (日) 20:48:53
  • ソース読めば良いんですが、ASKAのソースは仕様に遠く及ばないようなので。追及は気が向いたときにやることになりますか。 -- Gaku編集 2003-08-05 (火) 21:20:16
  • ASKAは386|ASM用ソースを出力するのでnaskcnv0がないと使えない。naskcnv0も移植してみました。http://home1.catvmics.ne.jp/~msy/tak/naskcnv0.tar.gz gas2naskよりも真面目に移植したつもり。 -- I.Tak. 2003-08-14 (木) 09:14:52
  • txt2binとosalink1はそのままコンパイルできるので, Makefileを直せばLinuxでOSASKがコンパイルできるはず……なんでtxt2binはソースと一緒に配布されてるんだろ? -- I.Tak. 2003-08-14 (木) 09:21:26
  • すみませーん、上記のソースと実行形式をダウンロードし直そうと思ったんですが(前にダウンロードしたやつが事故で消えまして・・・)、ダウンロードできません。誰か再uploadをお願いします。 -- K 2003-10-10 (金) 23:08:18
  • Kタン<すいません。これまだ復旧してませんでした。入手できましたか?もしまだなら、12時くらいまで待っていただければ、復旧できますが。 -- hideyosi 2003-10-11 (土) 08:44:14
  • はい。まだ入手できていません。いつまででも待ちますので、復旧したらここに書き込んでください。 -- K 2003-10-11 (土) 09:29:59
  • おまたせしました。これでOKのはずです。更新してありますので、ダウンロード、よろしくお願いします。 -- hideyosi 2003-10-11 (土) 11:24:28
  • I.Tak.さんへ:上記バージョンのバイナリでテストしたところ、エラーがなくても毎度の「Error Counts >>> Scanner:0, Parser:0, Generator:0」が出てますが、これはそういう仕様なんでしょうか?それともパッチ作成ミス??? -- K 2003-10-11 (土) 13:20:29
  • 私が出したパッチは、簡単に元に戻せるように大概の修正部分を #ifdef LINUX で囲ってあったんです (windowsで使う・テストする気が無かったので)…うっかり忘れてhistoryを書いてしまったようです(^^;;; #ifdef LINUX は要らなかったら消してください。 -- I.Tak. 2003-10-11 (土) 20:08:36
  • 具体的には、parser.cppとmodule.cppに、不当にLinux用となっているところがあります。windowsでチェックして、動くならifdefをはずしてください>hideyosiさん -- I.Tak. 2003-10-11 (土) 20:32:25
  • g++(GCC)4.0.2使用でコンパイルしました。modules.hの40行目で引っかかるようです。代入できないと怒られます。マクロ(macro.h)を参考に手で展開した後、del (unsigned char *)…とやって回避しました。 -- くーみん 2006-03-01 (水) 17:42:53
  • ASKAをASKAで書き直したらどれくらい小さくなるのでしょう? -- 名無しさん 2006-03-02 (木) 00:53:12
  • たぶん今のnaskの1.5倍くらいで収まるのではないかなあ。 -- K 2006-03-02 (木) 13:56:23
  • 1.5倍 == 75KB でしょうか? -- ZwergSpitz 2006-03-07 (火) 01:38:13
  • 1.5倍 == 75KB でしょうか? -- ZwergSpitz 2006-03-07 (火) 01:51:05
  • 1.5倍 == 75KB でしょうか? -- ZwergSpitz 2006-03-07 (火) 01:51:14
  • 時間が出来たので、ASKAを弄ってみようと思い来てみましたが、ソースとバイナリのリンクが切れているようです。他に何処かに配布してますか? -- ZwergSpitz 2006-05-27 (土) 00:19:57
  • hideyosi.zive.net/~hideyosi を www2.hideyosi.com に書き換えるとダウンロードできそうです。 -- Zakky 2006-05-27 (土) 00:45:08
  • ↑ダウンロードできました。ありがとうございます。 -- ZwergSpitz 2006-05-27 (土) 01:00:27
  • 荒らしがやまないので、こめんと欄を一時的に外しました。必要なら復活させてから書き込んでください。--by K,2006.05.27

  • おきまりの突っ込み:ASKSってなんですか? -- K 2003-07-26 (土) 00:45:31
  • っていうかASKAをCで書き直したい・・・。そしたら小さくなりそうだし。でも当分できそうにない・・・。実はNASKの最適化ルーチンはそのままASKAでも使えるように準備してあったりするのです。これが報われるのはいつになることやら。 -- K 2003-07-26 (土) 00:46:40

Page Top

2003/08/02 08:10 以下に書かれていた移植までの記録を、ASKAをLinuxに移植してみた記録編集に移しました。 anchor.png


Last-modified: 2009-12-01 (火) 00:00:00 (JST) (319d) by hideyosi