サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
3: 2010-01-25 (月) 17:17:40 lina ソース 現: 2024-01-08 (月) 12:58:58 lina ソース
Line 30: Line 30:
|tekmin1|--|tekmin1| |tekmin1|--|tekmin1|
-**孤立パッケージのワンパック化 [#gaf85291]+**独立パッケージ [#gaf85291]
意図して孤立させているものは別。以下。 意図して孤立させているものは別。以下。
-Asuka -Asuka
 +-bim2bin
 +-edimg
-t5lzma -t5lzma
-qemu -qemu
 +
 +qemuを除いて今回は前バージョンのまま
**バージョンアップ! [#md5b7402] **バージョンアップ! [#md5b7402]
Line 109: Line 113:
 2010/01/25  15:36              173 version.c  2010/01/25  15:36              173 version.c
 2010/01/25  15:36              118 version.h  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なんだから・・・<オープン アゲイン!!!
 +
 +*そんなわけで第一期完成 [#oe00b9a9]
 +
 +実行ファイル
 +#ref(hidetol_8.exe)
 +
 +ソース
 +#ref(hidetol_8_src.exe)
 +
 +COLOR(red){まだOSASKもなんもコンパイルしてません・・・自分自身のソースを自分でコンパイルできるようになったってレベル}
 +
 +
 +**OSASKコンパイル [#s89fc85d]
 +・・・ダメでした・・・orz・・・
 +
 +で、問題を検証してみたんだけど、どうもpokonがおかしい。で、どの段階でおかしいかってーと、obj2bimだってことが解った。pokon0.objまでの段階ではまったく同じバイナリなんだけど、こいつをobj2bimでpokon0.bimにすると違いが出ちゃう。
 +
 +-差を見てみると、なんとかくだけど規則的に差が出ているように見える・・・
 +-そもそも、ほんのわずかだけど、サイズが異なる
 +
 +でね。こりゃ、obj2bimがバグってるのかぁ?っていうと、winman0ではこれが起きてないんだよなぁ・・・(winman0はこの後のbinでもまったく同じバイナリになってる)
 +
 +・・・どゆことなんだべか???
 +
 +COLOR(blue){おぉぉっとぉ! 動いたぞ!!!}
 +
 +二つの差。それは、rulファイル(各々専用)。ちょっとヤマカンでやってみたのよ。mak_pk0.txtを!
 +
 + 元々のmak_pl0.txt     こうしますた!
 + STK_PK_AT = 1m        STK_PK_AT = 64k
 + STK_PK_TW = 1m       STK_PK_TW = 64k
 + STK_PK_NE = 1m       STK_PK_NE = 64k
 +
 +これでコンパイルかけてみた。やっぱり同じにはならないんだけど、サイズが揃ったんだよね。で、runしてみるってーと・・・ジャジャ~ン!!! 
 +
 +オレは天才だあぁぁぁ! どんな言語もたちどころに習得できるのに、誰も奥義を授けようとはしなかったあぁ!!!
 +
 +**はりぼて [#xb68fdc5]
 +こーっちもイケたぞおぉぉ!!!
 +
 +リリース近し!! w
 +
 +
 +**qemuが起動しないミス [#tb2bc0ba]
 +例によってhikarupspさんが見つけてくれた!!
 +
 +qemuの起動に問題があったので一部やり直しました。
 +
 +#ref(hidetol_8_2.exe)
 +
 +
 +
 +*リリース向け準備 [#o104ee3b]
 +たぶんもう問題はないと思う。リリースに向けて最後の準備。
 +
 +で!
 +
 +この版ではコマンドそのものやパラメータがいろいろ変化していて、hidetol_7みたいにOSASKやはりぼてでチェックができない。(あちこち直さないといけない)
 +
 +Linuxとかならpatchを流せばいいんだけどWinの場合はねぇ・・・
 +
 +そんなわけで、とりあえずご用意。
 +
 +**OSASK4.7の代替 [#n923b4d2]
 +[[ここ>http://osask.net/w/540.html]]からOSAKA Ver4.7を落としてくださいな。OSAKAはOSASKからの派生物。で、なに派生したかって、なーんにも変化していないというwww~
 +コイツはhidetol_8で一発コンパイルできるようにMakefile関係だけをイジってあると考えていただければ。
 +
 +
 +**はりぼての代替 [#f7ba3dc7]
 +#ref(harib27f_x.zip)
 +
 +こいつは「30日で出来る!OS自作入門」付属CD-ROM内の、30日目の最後のソースに、hidetol_8でコンパイルできるようにMakefileやらなんやらを改造したもの。以下ね。
 + harib27_x
 +   ├app_mak.txt
 +   ├apilib
 +   │    └Makefile
 +   ├haribote
 +   │    └Makefile
 +   └gvuiew
 +         └Makefile
 +
 +
 +
 +*リリース完了! ('10/2/1)[#ld83d289]
 +
 +リリースが完了しましたので、このページは凍結♪ 添付も引っこ抜きます。以降は[[こちら>http://osask.net/w/542.html]]にて。

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。