さて・・・どうしたものか・・・w これはかなり時間をかける予定。やりたいことがいっぱいあるからw~ (途中であきらめてリリースする可能性大w) *構想 [#peb40011] **.g01計画 [#mf5405d4] 分かっているだけでもかなりのものがefg01対応化しており、さらにバージョンアップしているのでもう一気にg01(ようは最新となるはず)にあげちゃう!~ (EXE化とかじゃなくて生粋の.g01化) | |30日本|.g0化|h |aksa|aksa1a|aksa| |bim2g01|--|bim2g01| |bim2hrb|bim2hrb|bim2hrb| |bin2obj|bin2obj0|bin2obj| |bin2ucc|--|bin2ucc| |cpy|--|cpy| |cpyc|--|cpyc| |gas2nask|gas2nask|gas2nask| |golib00|golib00|golib00| |makefntc|--|makefntc| |makefnt|makefnt|makefnt| |mtek2org|--|mtek2org| |nask|nask|nask| |naskconv0|naskconv0|naskconv0| |obj2bin|obj2bi4c|obj2bin| |rjcg01|--|rjcg01| |sjisconv|sjisconv|sjisconv| |tekmin0|--|tekmin0| |tekmin1|--|tekmin1| **独立パッケージ [#gaf85291] 意図して孤立させているものは別。以下。 -Asuka -bim2bin -edimg -t5lzma -qemu qemuを除いて今回は前バージョンのまま **バージョンアップ! [#md5b7402] -qemuを最新の0.10.6に -UPXを最新に近いものに **bim2binワンパック化 [#m92413ca] これが最大に厄介ではある。まず、lzma SDKを現行のものを使って5tlzmaを作り直す(PDSになるぞ!)。うまくいったらtek5圧縮部をbim2bin内に内臓してt5lzmaは廃止に。 **互換性維持を捨てる [#uf19b8e5] ファイル名を互換維持のために元のままにしてるよね。(aska.exeやnask.exe)~ もうそれをやめちゃう。hidetol_6で在来物(OSASKやCD収録はりぼて)はコンパイルできるようにしてるんだから。~ 新しいものだってファイル名直せばそれで使える。それくらいは自分でやってちょ! また、Win9x系列のものは廃止。どうしてもほしければhidetol_6使うかなんかして自分でやってちょ! *Asuka Ver2.0計画 [#y4b3d72f] こんなこっといっいな♪ でっきた ら いーいな♪ 今のAsukaはC++で作られてるので28GOではコンパイルできない。(これが別パッケージになってる理由)~ ・・・これさぁ・・・C化ってできないもんか??? そうすれば28GO_Kに収められるからすっきりするし、うまくいけば気をよくしたKタンが.g01化してくれたりなんかして???www *さて実行してくか・・・ [#kb78a690] **28GO_G [#mb2745a2] ここのソースはcpp0とcc1およびcc1plusが入ってるね。でさ・・・~ こいつだけ、ソースがでかいんだよなぁ。ダウンロード実験の時、時間かかってしょうがない!(解凍も) cc1plusが今後使われたり改良される可能性は限りなく低いんでね? なので、いっそ、ソース抜いちゃおうかとwww せっかくなのでちょっと。28GOcppoに必要なファイル郡。 2010/01/25 15:36 18,137 auto-host.h 2010/01/25 15:36 896 config.h 2010/01/25 15:36 3,030 cppdefault.c 2010/01/25 15:36 3,507 cppdefault.h 2010/01/25 15:36 8,405 cpperror.c 2010/01/25 15:36 26,987 cppexp.c 2010/01/25 15:36 35,075 cppfiles.c 2010/01/25 15:36 4,075 cpphash.c 2010/01/25 15:36 16,370 cpphash.h 2010/01/25 15:36 66,928 cppinit.c 2010/01/25 15:36 59,246 cpplex.c 2010/01/25 15:36 54,627 cpplib.c 2010/01/25 15:36 23,283 cpplib.h 2010/01/25 15:36 48,283 cppmacro.c 2010/01/25 15:36 14,156 cppmain.c 2010/01/25 15:36 15,671 defaults.h 2010/01/25 15:36 111,857 except.c 2010/01/25 15:36 7,648 except.h 2010/01/25 15:36 8,669 hashtable.c 2010/01/25 15:36 3,144 hashtable.h 2010/01/25 15:36 4,921 hwint.h 2010/01/25 15:36 207 insn-constants.h 2010/01/25 15:36 91,249 insn-flags.h 2010/01/25 15:36 1,412 intl.c 2010/01/25 15:36 1,579 intl.h 2010/01/25 17:09 97,072 libcpp.lib 2010/01/25 15:36 6,517 line-map.c 2010/01/25 15:36 4,948 line-map.h 2010/01/25 16:41 4,690 Makefile 2010/01/25 15:36 9,877 mbchar.c 2010/01/25 15:36 1,606 mbchar.h 2010/01/25 15:36 6,662 mkdeps.c 2010/01/25 15:36 2,734 mkdeps.h 2010/01/25 15:36 8,068 prefix.c 2010/01/25 15:36 1,226 prefix.h 2010/01/25 15:36 17,680 system.h 2010/01/25 15:36 173 version.c 2010/01/25 15:36 118 version.h 28GOcc1に必要なの・・・ 2010/01/25 15:36 82,996 alias.c 2010/01/25 15:36 42,362 attribs.c 2010/01/25 15:36 18,137 auto-host.h 2010/01/25 15:36 26,469 basic-block.h 2010/01/25 15:36 7,203 bb-reorder.c 2010/01/25 15:36 19,389 bitmap.c 2010/01/25 15:36 12,411 bitmap.h 2010/01/25 15:36 6,781 builtin-attrs.def 2010/01/25 15:36 8,218 builtin-types.def 2010/01/25 15:36 130,313 builtins.c 2010/01/25 15:36 16,728 builtins.def 2010/01/25 15:36 22,535 c-aux-info.c 2010/01/25 15:36 134,692 c-common.c 2010/01/25 15:36 5,090 c-common.def 2010/01/25 15:36 34,570 c-common.h 2010/01/25 15:36 4,149 c-convert.c 2010/01/25 15:36 249,039 c-decl.c 2010/01/25 15:36 1,417 c-errors.c 2010/01/25 15:36 85,124 c-format.c 2010/01/25 15:36 3,729 c-lang.c 2010/01/25 15:36 41,367 c-lex.c 2010/01/25 15:36 1,209 c-lex.h 2010/01/25 15:36 10,356 c-objc-common.c 2010/01/25 15:36 214,224 c-parse.c 2010/01/25 15:36 14,136 c-pragma.c 2010/01/25 15:36 1,977 c-pragma.h 2010/01/25 15:36 22,266 c-semantics.c 2010/01/25 15:36 16,157 c-tree.h 2010/01/25 15:36 227,906 c-typeck.c 2010/01/25 15:36 27,628 caller-save.c 2010/01/25 15:36 155,730 calls.c 2010/01/25 15:36 18,009 cfg.c 2010/01/25 15:36 33,698 cfganal.c 2010/01/25 15:36 26,098 cfgbuild.c 2010/01/25 15:36 53,518 cfgcleanup.c 2010/01/25 15:36 15,265 cfglayout.c 2010/01/25 15:36 1,326 cfglayout.h 2010/01/25 15:36 23,575 cfgloop.c 2010/01/25 15:36 58,697 cfgrtl.c 2010/01/25 15:36 444,322 combine.c 2010/01/25 18:21 103,133 combine.o 2010/01/25 15:36 4,742 conditions.h 2010/01/25 15:36 896 config.h 2010/01/25 15:36 15,670 conflict.c 2010/01/25 15:36 15,428 convert.c 2010/01/25 15:36 1,076 convert.h 2010/01/25 15:36 3,030 cppdefault.c 2010/01/25 15:36 3,507 cppdefault.h 2010/01/25 15:36 8,405 cpperror.c 2010/01/25 15:36 26,987 cppexp.c 2010/01/25 15:36 35,075 cppfiles.c 2010/01/25 15:36 4,075 cpphash.c 2010/01/25 15:36 16,370 cpphash.h 2010/01/25 15:36 66,928 cppinit.c 2010/01/25 15:36 59,246 cpplex.c 2010/01/25 15:36 54,627 cpplib.c 2010/01/25 15:36 23,283 cpplib.h 2010/01/25 15:36 48,283 cppmacro.c 2010/01/25 15:36 250,371 cse.c 2010/01/25 15:36 37,913 cselib.c 2010/01/25 15:36 2,309 cselib.h 2010/01/25 15:36 90,174 dbxout.c 2010/01/25 15:36 1,021 dbxout.h 2010/01/25 15:36 2,540 debug.c 2010/01/25 15:36 6,059 debug.h 2010/01/25 15:36 15,671 defaults.h 2010/01/25 15:36 42,172 dependence.c 2010/01/25 15:36 102,761 df.c 2010/01/25 15:36 11,361 df.h 2010/01/25 15:36 44,015 diagnostic.c 2010/01/25 15:36 373 diagnostic.def 2010/01/25 15:36 12,814 diagnostic.h 2010/01/25 15:36 29,278 doloop.c 2010/01/25 15:36 19,709 dominance.c 2010/01/25 15:36 17,346 dwarf2.h 2010/01/25 15:36 25,376 dwarf2asm.c 2010/01/25 15:36 2,931 dwarf2asm.h 2010/01/25 15:36 379,147 dwarf2out.c 2010/01/25 15:36 1,285 dwarf2out.h 2010/01/25 15:36 237,178 dwarfout.c 2010/01/25 15:36 142,702 emit-rtl.c 2010/01/25 15:36 1,718 errors.h 2010/01/25 15:36 111,857 except.c 2010/01/25 15:36 7,648 except.h 2010/01/25 15:36 48,759 explow.c 2010/01/25 15:36 156,841 expmed.c 2010/01/25 15:36 347,971 expr.c 2010/01/25 15:36 31,879 expr.h 2010/01/25 15:36 112,995 final.c 2010/01/25 15:36 21,210 flags.h 2010/01/25 15:36 133,678 flow.c 2010/01/25 15:36 251,287 fold-const.c 2010/01/25 15:36 255,535 function.c 2010/01/25 15:36 25,033 function.h 2010/01/25 15:36 5,278 gcov-io.h 2010/01/25 15:36 208,910 gcse.c 2010/01/25 15:36 17,972 genrtl.c 2010/01/25 15:36 20,016 genrtl.h 2010/01/25 15:36 19,592 ggc-common.c 2010/01/25 15:36 43,400 ggc-page.c 2010/01/25 15:36 9,290 ggc.h 2010/01/25 15:36 63,318 global.c 2010/01/25 15:36 11,192 graph.c 2010/01/25 15:36 1,099 graph.h 2010/01/25 15:36 229 gstab.h 2010/01/25 15:36 1,315 gsyms.h 2010/01/25 15:36 61,982 haifa-sched.c 2010/01/25 15:36 17,723 hard-reg-set.h 2010/01/25 15:36 5,597 hash.c 2010/01/25 15:36 4,868 hash.h 2010/01/25 15:36 8,669 hashtable.c 2010/01/25 15:36 3,144 hashtable.h 2010/01/25 15:36 1,352 hooks.c 2010/01/25 15:36 1,096 hooks.h 2010/01/25 15:36 4,921 hwint.h 2010/01/25 15:36 389,761 i386.c 2010/01/25 15:36 81,451 ifcvt.c 2010/01/25 15:36 1,695 input.h 2010/01/25 15:36 1,793 insn-addr.h 2010/01/25 15:36 4,592 insn-attr.h 2010/01/25 15:36 988,099 insn-attrtab.c 2010/01/25 15:36 16,626 insn-codes.h 2010/01/25 15:36 412 insn-config.h 2010/01/25 15:36 207 insn-constants.h 2010/01/25 15:36 413,064 insn-emit.c 2010/01/25 15:36 69,072 insn-extract.c 2010/01/25 15:36 91,249 insn-flags.h 2010/01/25 15:36 22,918 insn-opinit.c 2010/01/25 15:36 431,045 insn-output.c 2010/01/25 15:36 671 insn-peep.c 2010/01/25 15:36 1,227,452 insn-recog.c 2010/01/25 15:36 105,432 integrate.c 2010/01/25 15:36 8,435 integrate.h 2010/01/25 15:36 1,412 intl.c 2010/01/25 15:36 1,579 intl.h 2010/01/25 15:36 65,669 jump.c 2010/01/25 15:36 6,775 langhooks-def.h 2010/01/25 15:36 8,286 langhooks.c 2010/01/25 15:36 6,933 langhooks.h 2010/01/25 15:36 44,758 lcm.c 2010/01/25 18:55 4,646,954 libbackend.lib 2010/01/25 18:09 97,072 libcpp.lib 2010/01/25 15:36 8,342 libfuncs.h 2010/01/25 15:36 6,517 line-map.c 2010/01/25 15:36 4,948 line-map.h 2010/01/25 15:36 4,091 lists.c 2010/01/25 15:36 80,898 local-alloc.c 2010/01/25 15:36 334,496 loop.c 2010/01/25 15:36 16,555 loop.h 2010/01/25 15:36 8,939 machmode.def 2010/01/25 15:36 5,995 machmode.h 2010/01/25 15:36 9,877 mbchar.c 2010/01/25 15:36 1,606 mbchar.h 2010/01/25 15:36 6,662 mkdeps.c 2010/01/25 15:36 2,734 mkdeps.h 2010/01/25 15:36 157,341 optabs.c 2010/01/25 15:36 10,819 optabs.h 2010/01/25 15:36 181 options.h 2010/01/25 15:36 21,825 output.h 2010/01/25 15:36 2,342 params.c 2010/01/25 15:36 4,002 params.def 2010/01/25 15:36 3,209 params.h 2010/01/25 15:36 29,598 predict.c 2010/01/25 15:36 4,220 predict.def 2010/01/25 15:36 1,511 predict.h 2010/01/25 15:36 8,068 prefix.c 2010/01/25 15:36 1,226 prefix.h 2010/01/25 15:36 18,933 print-rtl.c 2010/01/25 15:36 23,194 print-tree.c 2010/01/25 15:36 36,306 profile.c 2010/01/25 15:36 151,319 real.c 2010/01/25 15:36 17,686 real.h 2010/01/25 15:36 92,753 recog.c 2010/01/25 15:36 9,783 recog.h 2010/01/25 15:36 84,991 reg-stack.c 2010/01/25 15:36 80,443 regclass.c 2010/01/25 15:36 76,217 regmove.c 2010/01/25 15:36 54,158 regrename.c 2010/01/25 15:36 8,897 regs.h 2010/01/25 15:36 238,998 reload.c 2010/01/25 15:36 15,136 reload.h 2010/01/25 15:36 320,221 reload1.c 2010/01/25 15:36 127,333 reorg.c 2010/01/25 15:36 40,868 resource.c 2010/01/25 15:36 2,108 resource.h 2010/01/25 15:36 4,157 rtl-error.c 2010/01/25 15:36 19,617 rtl.c 2010/01/25 15:36 46,315 rtl.def 2010/01/25 15:36 85,494 rtl.h 2010/01/25 15:36 78,912 rtlanal.c 2010/01/25 15:36 13,432 sbitmap.c 2010/01/25 15:36 5,692 sbitmap.h 2010/01/25 15:36 48,960 sched-deps.c 2010/01/25 15:36 9,715 sched-ebb.c 2010/01/25 15:36 12,684 sched-int.h 2010/01/25 15:36 91,622 sched-rgn.c 2010/01/25 15:36 23,861 sched-vis.c 2010/01/25 15:36 53,060 sdbout.c 2010/01/25 15:36 925 sdbout.h 2010/01/25 15:36 23,901 sibcall.c 2010/01/25 15:36 83,363 simplify-rtx.c 2010/01/25 15:36 37,727 ssa-ccp.c 2010/01/25 15:36 22,962 ssa-dce.c 2010/01/25 15:36 66,530 ssa.c 2010/01/25 15:36 2,616 ssa.h 2010/01/25 15:36 9,369 stab.def 2010/01/25 15:36 197,862 stmt.c 2010/01/25 15:36 67,272 stor-layout.c 2010/01/25 15:36 4,854 stringpool.c 2010/01/25 15:36 17,680 system.h 2010/01/25 15:36 7,154 target-def.h 2010/01/25 15:36 8,282 target.h 2010/01/25 15:36 578 timevar.h 2010/01/25 15:36 2,779 tm-preds.h 2010/01/25 15:36 122 tm_p.h 2010/01/25 15:36 159,578 toplev.c 2010/01/25 15:36 5,483 toplev.h 2010/01/25 15:36 15,536 tree-check.h 2010/01/25 15:36 24,157 tree-dump.c 2010/01/25 15:36 2,965 tree-dump.h 2010/01/25 15:36 47,099 tree-inline.c 2010/01/25 15:36 1,592 tree-inline.h 2010/01/25 15:36 138,337 tree.c 2010/01/25 15:36 41,525 tree.def 2010/01/25 15:36 131,273 tree.h 2010/01/25 15:36 481 typeclass.h 2010/01/25 15:36 148,071 unroll.c 2010/01/25 15:36 152,960 varasm.c 2010/01/25 15:36 2,865 varray.c 2010/01/25 15:36 11,029 varray.h 2010/01/25 15:36 173 version.c 2010/01/25 15:36 118 version.h 2010/01/25 15:36 55,043 vmsdbgout.c 2010/01/25 15:36 25,660 winnt.c 2010/01/25 15:36 13,860 xcoffout.c いらないと思われるファイル達。 cpディレクトリ内 2010/01/25 15:34 176,585 call.c 2010/01/25 15:34 15,048 cfns.h 2010/01/25 15:34 255,601 class.c 2010/01/25 15:34 4,299 cp-lang.c 2010/01/25 15:34 11,975 cp-tree.def 2010/01/25 15:34 190,445 cp-tree.h 2010/01/25 15:34 39,521 cvt.c 2010/01/25 15:34 466,028 decl.c 2010/01/25 15:34 2,005 decl.h 2010/01/25 15:34 162,934 decl2.c 2010/01/25 15:34 11,308 dump.c 2010/01/25 15:34 78,045 error.c 2010/01/25 15:34 25,427 except.c 2010/01/25 15:34 3,843 expr.c 2010/01/25 15:34 14,078 friend.c 2010/01/25 15:34 107,563 init.c 2010/01/25 15:34 47,149 lex.c 2010/01/25 15:34 3,410 lex.h 2010/01/25 15:34 329 Makefile 2010/01/25 15:34 73,898 mangle.c 2010/01/25 15:34 32,018 method.c 2010/01/25 15:34 6,174 operators.def 2010/01/25 15:34 9,936 optimize.c 2010/01/25 15:34 442,688 parse.c 2010/01/25 15:34 2,361 parse.h 2010/01/25 15:34 322,662 pt.c 2010/01/25 15:34 6,496 ptree.c 2010/01/25 15:34 10,533 repo.c 2010/01/25 15:34 45,877 rtti.c 2010/01/25 15:34 82,452 search.c 2010/01/25 15:34 73,561 semantics.c 2010/01/25 15:34 42,716 spew.c 2010/01/25 15:34 70,234 tree.c 2010/01/25 15:34 219,474 typeck.c 2010/01/25 15:34 42,890 typeck2.c gccディレクトリ内 2010/01/25 15:36 12,446 cppmain.n 2010/01/25 15:36 10,559 dwarf.h 2010/01/25 15:36 3,024 halfpic.h 2010/01/25 15:36 1,514 stack.h 2010/01/25 15:36 6,913 vmsdbg.h 2010/01/25 15:36 8,004 xcoffout.h 総ソース18MBが3MB近く減ったぞw これでいっちゃうかw あと、生成されるものも、cc1・cpp0から、28GOcc1・28GOcpp0に名前変更~。 COLOR(red){宣言通り、もう互換性とかは基本無視しまするw} **28GO_K [#qb59482c] まず、いくつかのものが.g01化してるので当然efg01相当がいるよね。 h_efg01とかってかなりグレーなので、近々Usageとかを搭載して、''hijk Ver1.7''をリリースして、これを載せる予定。 ***aksa [#mee7c0b7] とりあえずソースをg01のものに入れ替え。 %%COLOR(red){コンパイル実験はまだ}%%でけた。ついでに名前もakusAに変更。 COLOR(red){バージョン表記搭載まだなんだけど・・・なんぞこれ? この異常に複雑なUsage表示!??} ・・・まいったなぁ・・・Usageのメッセージなんぞでかく占めたくないってんで複雑な関数になってる。efg01側の解析からやらにゃならん。どうしたもんだこれ・・・ static unsigned char cmdusg[] = { ベタ書きに変換! 0x86, 0x50, 0x86, 0x5c, 0, 0x88, 0x88, in:input-file 0x02, 'o', 'f', 's', 0x11, '#', 0x0c, 2, 'o', 'f', 's', 0x1c, 1, '#', 0x11, '-', 'r', 0x20, 0x1c, 1, '-', 'r', 0x20, 0x02, 'e', 'i', 'p', 0x11, '#', 0x0c, 2, 'e', 'i', 'p', 0x1c, 1, '#', 0x00, 'd', 0x11, '#', 0x0c, 0, 'd', 0x1c, 1, '#', 0x02, 'l', 'i', 'n', 0x11, '#', 0x0c, 2, 'l', 'i', 'n', 0x1c, 1, '#', 0x40 0x40 }; ばんざーい! 解析できたーーーーー!!!!! ・・・バージョン表記はefg01側で考えないといけないのね・・・・・・・orz COLOR(blue){''結論!!!'' 今回はバージョン表記は見送りまする。まずhidetol_8で完成させて、次回にhijkの内部をイジってなんとかしまるす。(それしかなさそうだもんなぁ~)} ***bim2g01 [#u1de5bac] 追加した。 COLOR(blue){でけた!} ***bim2hrb [#i542bc9c] 乗せかえた。 COLOR(blue){でけた!} ***bim2obj [#mdd31a55] 乗せかえた。 COLOR(blue){でけた!} ***bim2ucc [#i89638f4] 追加。 COLOR(blue){でけた!} ***cpyとcpyc [#s260ce51] 追加。 COLOR(blue){でけた!} ***gas2nask [#od70a251] 追加。同時にtools*とfunc内のgas2nask関連のものを削除 COLOR(blue){でけた!} ***golib00 [#a67c190c] 追加。同時にtools*とfunc内のgolib00関連のものを削除 COLOR(blue){でけた!} ***makefontc [#t1e50e69] 名前が違うな・・・追加。同時にmakefontを削除 COLOR(blue){でけた!} COLOR(red){makefntcを採用。aska版はまた今度・・・} ***mtek2org [#u8ecd2e4] 追加。 COLOR(blue){でけた!} ***Nasuka [#u8768672] 追加。同時にtools*とfunc内のnask関連のものを削除 COLOR(blue){でけた!} ***naskconv0 [#uf7bb7f1] 追加。同時にtools*とfunc内のnaskconv関連のものを削除 COLOR(blue){でけた!} ***obj2bim [#d3489530] 載せ変え。同時にautodec関連のものを削除 COLOR(blue){でけた!} ***rjcg01 [#b27d68c8] 追加。 COLOR(blue){でけた!} ***sjisconv [#u6e66d44] 追加。同時にtools*とfunc内のsjisconv関連のものを削除 COLOR(blue){でけた!} ***toolstdc・toolw32 [#d7117018] このディレクトリは空になったので削除 ***g01libcとg01libc1 [#iafb3693] 内部にはオブジェクトファイルあり。ライセンスの確認が必要なので棚上げ -g01libc内の_chkstk.oは例の条件付GPLのヤツと同一であることを確認。なので、在来の28GO_G内のものを流用してくみ上げるよう、インストーラーを工夫する。(つかり28GO_Kからは除外する) -g01libc1内のものはみんなKタン作であることを確認。(考えてみれば、.nasや.askを書くヒトなんてKタンくらいではなかろうかとwww) *gas2naskに例の問題が? [#m8ea55fc] g01化された最新(たぶん)のgas2naskに例の skip:adcl %edx, 20(%ecx) skip:adcl %edx, 20(%esi) エラーが出ることが判明。これを修理。~ COLOR(blue){その意味では初のg01アプリのバージョンアップwつーことになるかな? www} ・・・あれ? 前のと違うじゃんこれ! **検証 [#na0f0d63] 以前にも似たバグがあった。今、手動でbim2bin.cを中間コンパイルしてbim2bin.gasを作ってみた。みてみると・・・ あったあった。二箇所。 つまり、上記のエラーは、gas2naskが 「そんなオペランド知らんぞ!訳せないぞ!」とこういっているわけ。っということは、GASのオペランドと、Nasuku(NASM互換?)のオペランドをつき合わせて書いてあげればいい・・・ということかな??? (前回と違い、今回はgas2naskのソースは最新。うへぇ~! こまったぁ・・・・)~ これはようするに、i386 CPUのオペランドとニーモニックの一覧表がないとどーしよーもないぞおぉぉ!!! orz SIZE(22){''だれかそういうのの載ってるURL教えてけれ!!''}~ ググっても全然みつからないよ・・・orz・・・ **手がかりがあったぞ [#kb1378d6] adclは、''拡張加減算''と呼ばれるものらしい。 ・・・やっとこさ、NASMの解説サイトを見つけたんだが・・・・~ http://ryujin.kuis.kyoto-u.ac.jp/~nobu/study/nasm/nasm.html これからこれを読むのか・・・頭クラクラしてきた・・・ **お得意のやっつけ変化球 [#he38ac39] 実験的にadclの行を抜いてgas2naskしてみた。するってーと、Nasukaとしてはこんな文法になることがわかった。 _rc_encode0: _rc_encode0: pushl %ebp PUSH EBP movl %esp, %ebp MOV EBP,ESP movl 8(%ebp), %ecx MOV ECX,DWORD [8+EBP] shrl 4(%ecx) SHR DWORD [4+ECX],1 cmpl $0, 12(%ebp) CMP DWORD [12+EBP],0 jne L4079 JNE L4079 movl 4(%ecx), %eax MOV EAX,DWORD [4+ECX] xorl %edx, %edx XOR EDX,EDX addl %eax, 16(%ecx) ADD DWORD [16+ECX],EAX ; adcl %edx, 20(%ecx) L4079: L4079: movl 4(%ecx), %eax MOV EAX,DWORD [4+ECX] cmpl $16777215, %eax CMP EAX,16777215 また、adcl、そしてそれに良く似たaddl命令の働きがわかって来た。COLOR(blue){上記の例で解る通り、addlはgas2naskで翻訳できていて、さらにそのパターンがわかる!} | |>|>|GASソース| |>|>|Nasuka(NASM風)ソース| |addl命令| addl | %eax | 16(%ecx) | | ADD | DWORD[16+ECX] | EAX| これらの比較から、まだ未確認だがこういう予測が立ってきた・・・ -COLOR(blue){多くの命令は、GASの場合、おケツにlが付いているだけ。} -COLOR(blue){第一オペランドと第二オペランドが逆} ・・・つーことはだよ? x86に、''ADC''という命令がダイレクトにあれば、addl(ADD)と同じ翻訳でいいんでないのか?これ???? **出ました!乱暴者!!! [#m6641f49] どうもx86には、''ADC''という命令はあるっぽい(まだ、調べきっていないのだが)。・・・だったらさぁ・・・・ さっき出来た.nasに、手書きでADC命令を書きこんでNasukaにかけ、bim2binをでっち上げてみる!!!!~ さぁ!動くか!? うごくのかあぁぁぁぁ!!!! COLOR(blue){動いちゃうんだからやめられないよなホントwwww} - -osacmp -tek0 正常動作。出力ファイルに違いがない! - -osacmp -tek1 正常動作。出力ファイルに違いがない! - -osacmp -tek5 正常動作。出力ファイルに違いがない! 完璧だ・・・私は完璧だ! 今日から戦闘力10万の完璧超人を名乗らせてもらおう!! **貴様風情に北斗1800年の歴史を極めることなどできない [#n520ae2b] ・・・でさ・・・gas2naskどうすんのよ・・ ・・・・・・・・・・・・・orz・・・・・・・・・・・・・・・ さてgas2naskのソースを眺めてると、acDl(ADD)命令の定義が二箇所ある。さらに各々の定義部に、one_param、tow_paramという名前がつけられている。 ・・・これは、オペランドが一個しかないもの、2個あるものっていう定義なのだろうか? もしそうなら、addl命令は、オペランドがひとつの場合と二つの場合があり、3つってのはない・・・そうなるが・・・ ふむ。大体合ってると思う。one_param内にはCALLやJPがあるが、tow_param内にはないし。 しかしそうなると、ADDにはオペランドが一個っていう場合がある・・・のかなぁ。そういう用法が見つからない。むむむ・・・ あぁぁぁっと!勘違いだ! ADDにはパラメータ一個は存在しない! それは、''FADD''だ!! うーん・・・ADDに対してFADDはFPUを使っての命令・・・と。で、その場合はパラメータ一個もありうる・・・(まだ未確認) しかし、逆に、これのCF関連命令であるADCに、FADCっていう命令はみつからないぞ? もしかしてない?? たぶんこれで合っているはず。adcl(ADC)命令には、パラメータ一個のパターンは存在しない!!!! なので、たぶん、adclの定義はtwo_param内に追加すればいいはず! **ソース内の定義の意味は? [#b9cd74ec] gas2naskのソース内では、たとえばaddlの場合、 "1addb ADD", "4addl ADD", "2addw ADD", こんなことをしている。先頭の数値とお尻の一文字。これはどういう意味なんだろう?? お尻はほとんど関係なくADDに翻訳されているんだが、頭の数値はなんだんだろうこれ・・・ *いけた?でもわかんねw [#b41591ab] "1addb ADD", "4addl ADD", "2addw ADD", "4adcl ADD", もうわっかんないので無理やりこんなことしてみたら、ちゃんと.nasが正しく出力されたぞ?? いいのか? 本当にこれでいいのか???www *復帰~ [#n48bb630] うーん・・・思うところもあるけど、本来の目的であるhidetol_8を完成させる観点から、ちょっとこれで突き進めちゃおう・・・~ (どーせこれは、GOでもなんでもない。28GOであり、hidetolなんだから・・・<オープン アゲイン!!!
(This host) = http://osask.net