8: 2010-01-28 (木) 16:57:47 lina |
9: 2010-01-28 (木) 23:17:57 lina |
| SIZE(22){''だれかそういうのの載ってるURL教えてけれ!!''}~ | | SIZE(22){''だれかそういうのの載ってるURL教えてけれ!!''}~ |
| ググっても全然みつからないよ・・・orz・・・ | | ググっても全然みつからないよ・・・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・・・・・・・・・・・・・・・ |