- 1 名前:デフォルトの名無しさん [2011/08/28(日) 12:36:52.66 .net]
- 初心者OK!質問大歓迎!のアセンブラのスレッドです。
基本情報の勉強中の人、PICやH8を勉強中の学生などなど…
- 855 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 19:18:08.19 ID:ALVAbODL.net]
- >>831はJITとやり方がそっくりだろ
JITはアプリ側でゴリゴリやる方式だし
- 856 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/22(水) 19:26:58.09 ID:2paHa4MR.net]
- call不要はねーわ。
ちなみにXbyakはcallがeip/rip相対にすらならないからいろいろ他のJITとは勝手が違う
- 857 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 20:01:00.11 ID:iGjKi/Th.net]
- 機械語をハンド逆アセンブル?しようと思ってるんですが、そういうのに使える便利なツールとかってありませんか。
ソースコードの機械語と命令単位で切り分けた機械語とニーモニックにしたものを並べて見比べたいんですが、 逆アセンブルツールというと自動的に解析してくれる様なものしかないみたいなので、メモ帳を複数起動して解析してる状況です。 一つのツールで操作できて整った画面で見られたらいいなぁと思ってるんですが、そういうニッチなツールはないですか。
- 858 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/22(水) 20:03:31.70 ID:2paHa4MR.net]
- EXEならVisualStudio付属ののDUMPBIN使えば?使い方はオプション見ればわかると思うけど
- 859 名前:デフォルトの名無しさん [2015/07/22(水) 20:34:53.88 ID:qru6k61f.net]
- 逆アセンブルできてたら、もとのバイナリ、16進は不要では?
実際に経験がないからわからないけど、アセンブラの命令と対応する16進を覚えておくか、メモ帳で逐次検索するか、 ルビふりとか英-和の翻訳で英語と日本語を文区切りで併記するように機械語とアセンブラでの似たものを自作するとか。
- 860 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 21:34:40.92 ID:iGjKi/Th.net]
- >>838
やっぱり自作しかないですかね。 x86-x64のオペコードはニーモニックと一対というわけではないので内部処理を確認する為に残しておきたいんですよね。 さすがに256命令+SSE命令 &MOD R/Mの組み合わせを暗記するというのは人間業ではないので今あるもので地道に頑張りたいと思います。
- 861 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 22:22:05.85 ID:ALVAbODL.net]
- >>832
>>831のモジュールアドレスを register void *dop=dlopen; register void *dsym=dlsym h=(*dop)(NULL); cont=(*dsym)(h,"label_cont"); jmp(cont); こんな感じに変更すればいいんじゃないのか スタートアップルーチンでサンクを呼び出す部分までをこのやり方で置き換えるんだよ >>833 後から勝手に制約を追加できるんなら、自分だったら動的再配置を禁止するぞ そんなこと許したらcomファイル大勝利になるだろ だから先に環境を示さないとダメなんだよ 本末転倒なんていったらCRISCの話でこんなことやってる方がどうかしてるだろ 団子がどうしてもcall使ってEIP取らないとできないことがあるって言うから あえてcall封印してたんじゃなかったのかよ
- 862 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/22(水) 22:30:16.31 ID:6QdmLHPN.net]
- DLLのアドレスは不定だろ?
前提からして間違ってるよ?
- 863 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/22(水) 22:36:05.03 ID:6QdmLHPN.net]
- >>720に対する反論はどんな実装でも例外なく通用する完璧な実装を用意することだけだよ
>>840のコードは外部DLL(*NIXでいうところのSO)から別のDLLを呼び出すときには通用しない
- 864 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/22(水) 22:46:58.82 ID:6QdmLHPN.net]
- 位置非依存コードは既に実用化されてる技術だけど「実装依存だからノーカン」みたいなこと言うアホもたい
- 865 名前:ェいだけど
callを使わなくてもいいようにABIやスタートアップルーチンを書き換えればいいなんてのはもっとありえない解決策だよ 現実みろよ てかCRISC(笑)なんて既に死語だと思うけどね。 既にIntelプロセッサの内部命令はPentium ProからPentium 4までのアーキテクチャの 「Load/Storeアーキテクチャ」ではなくなってるしAtomはOoOを実装したCISCだし [] - [ここ壊れてます]
- 866 名前:デフォルトの名無しさん [2015/07/22(水) 23:06:10.53 ID:oW3pCj8R.net]
- Open office Org.
- 867 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 23:12:09.13 ID:ITYxsc4F.net]
- それはOOoじゃなかったっけ
- 868 名前:デフォルトの名無しさん [2015/07/22(水) 23:21:04.52 ID:oW3pCj8R.net]
- >>845
馬鹿野郎! 今は21世紀だぞ!
- 869 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/22(水) 23:22:46.86 ID:6QdmLHPN.net]
- 「CRISC」ってどっかの学者さんが言い出した言葉ではなくIntelの造語で
20年も前の言葉でPentiumで用いた高速化のアプローチのことを指してそういっただけで そういうアーキテクチャがあるわけではない。 「CISCをRISCライクな単純命令に分解して高速化しました」の方向を突き詰めたのがPentium4で とっくにそっちは死に筋だよ 今はどっちかというとCISC命令を内部で融合して命令数を減らして高速化するアプローチが高速化の中心なので 「CRISC」は実態を表していない。 どっちかというと今の方向性は2006年の「Wide Dynamic Execution」でしょう
- 870 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 05:59:11.25 ID:fN1C2EA/.net]
- 今のCoreMAはCISCを別のCISC=uOPに変換して実行している所だな。
それは分解というより変換と言った方が正しい。 uOPはハードワイヤで実行可能な実行単位を基本としており、最初はRISC的なものであったが世代を追って高機能化して今は可変長のCISCになっている。 x64をそのまま使わないのはuOPが一部x64よりも高機能になったこともあるがベースはやはりx64の素性が悪いからでわざわざワンクッションおいてもuOPに変換した方が性能が出るからである。 一度変換した命令はキャッシュされ再利用されるので複雑なx64命令をデコードするのは最初の一回だけで良い。 命令がキャッシュにある間はデコーダは止まっていて電力を食わないようになっており、消費電力を気にすることなく大規模なx64デコーダを実装して性能を高めることができている。
- 871 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/23(木) 08:12:10.12 ID:tlVBnSRn.net]
- またどうしようもないおっさんがいる。たのむからブログやツイッターにでも引きこもってくれ。
- 872 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/23(木) 08:32:09.52 ID:tlVBnSRn.net]
- てかμOPsは可変長じゃねーよヴァカジャネーノ
いやたとえ可変だったところでμOPs cacheの1エントリに2〜3μOPs書き込めるわけではないがな 1μOpsあたり何バイトだと思ってるの? まあ40バイト程度だがな。 4μOPsフェッチするだけで160バイト/clk。4命令をデコードするより電力効率が多少ましなだけで 別に省エネでもなんでもねーわ。格納効率は最悪。 Cortex-A57には同じ目的に近いloop buffer(SNB以降のそれよりNehalemのそれに近い)があるが 都度デコードしたほうがマシなくらいなのでA72では削除された。
- 873 名前:デフォルトの名無しさん [2015/07/28(火) 12:23:24.90 ID:ss5oXPlA.net]
- なんか初心者スレッドって感じじゃなくなってるような
ここで完全初心者の俺が質問すると微妙だが アセンブラというかlinuxカーネルの質問なんだけど システムコールするとスタックとかプロセス空間が切り替わっちゃうらしいんだけど そこでレジスタに乗り切らない文字列とかってどうやって渡してるんでしょうか
- 874 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2015/07/29(水) 00:57:18.39 ID:PIgMeuM3.net]
- ポインタ渡し
- 875 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 10:18:54.90 ID:7dNzVewM.net]
- 普通にポインタで渡してmemcpyみたいなことをしてる。ただカーネル内だとNULLに触れて死ぬのは許されないので、アドレスチェックしてmemcpyみたいなことをしている。
lxr.free-electrons.com/source/lib/strncpy_from_user.c#L23 プロセス空間変わるといってもユーザー空間はシステムコールを呼んだプロセスと同じアドレスが見えるようになってる。 カーネル空間全プロセス共有、ユーザー空間対象プロセスと共有みたいな配置になる。 (なのでカーネル空間用のアドレス必要で32bit OSだとユーザー空間は2GBとか3GBしか持てないとかになる)
- 876 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 23:57:28.65 ID:zpCxDSCd.net]
- そうか普通にポインタ渡しなのか
>>852-853 >システムコールを呼んだプロセスと同じアドレスが見えるようになってる。 分かってない事が多すぎる・・・
- 877 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 00:27:18.11 ID:1ZSGrKWz.net]
- というかシステムコールではアドレス空間変わらなくて、ページごとにRing3(ユーザーモード)から読めるかどうかみたいなのが設定されてるとかだったはず。
Linuxだと、 - 0-3GB プロセスごとのユーザ空間のメモリがマップしてある。Ring3 でもアクセスできる - 3GB-4GB 全プロセスで共有のカーネル空間メモリがマップしてある。Ringからしかアクセスできない。 みたいになってたはず。 システムコールを呼ぶと、アドレス空間は変わらないけど、Ring0になるので、0-4GB全部アクセスできるようになる。 (Ring1,2の扱いはよく知らない)
- 878 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 01:05:18.46 ID:UjoOxrCo.net]
- >>855
聞いた話だけどほとんどのプロセッサがユーザーモードとシステムモードの2種類しか持たなくて、 x86/64のように4種類も持っている方が珍しいんだと そしてほとんど真ん中の2個は使われてないんだってさ
- 879 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 01:14:35.07 ID:HdXuYlDO.net]
- システムコールは、呼び出したスレッドとは違う、カーネルのスレッドで実行されるって認識でOKですか?
- 880 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 01:23:21.48 ID:unLWCujK.net]
- NG
- 881 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 01:27:27.60 ID:HdXuYlDO.net]
- システムコールは、呼び出したスレッドで実行されるのですか?
それなら、自分のコードは特権になれなくて、カーネルのコードは特権になれるのは何故ですか?
- 882 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 01:31:28.62 ID:unLWCujK.net]
- 定められて手順を踏んで特権モードに切り替えてるから
- 883 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 01:36:35.97 ID:HdXuYlDO.net]
- 同じ手順を自分のコードではとれないのは何故ですか?
- 884 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 02:09:02.32 ID:1ZSGrKWz.net]
- syscall, sysenterとかでググるといくつか解説が見つかると思う
www.marbacka.net/asm64/arkiv/int2e_sysenter_syscall.html 自分で書いたプログラムでもカーネルモードに切り替えられるが事前に決められたアドレスにしかジャンプできない。
- 885 名前:デフォルトの名無しさん [2015/08/01(土) 18:40:05.13 ID:+UL3i04M.net]
- SHのMOV.L命令@(disp,PC),Rnで@(H'0004:8,PC)の場合pcから8バイト先にあるって意味ですか?
- 886 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 17:35:32.18 ID:6eoHy3Qx.net]
- アセンブラで遊ぼうと思ったミジンコだが16bitリンカが手に入らないでござる
lnk563.exe ってwin8じゃ使えないの?
- 887 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 18:57:14.49 ID:NJB3TdQy.net]
- 方法1.リンカ要らずのNASM等を選ぶ
方法2.どうしてもMASMでなきゃ嫌なら実行環境でリンカを使う
- 888 名前:デフォルトの名無しさん [2015/09/03(木) 19:49:38.34 ID:ACT9XNdq.net]
- alink.sourceforge.net/download.html
www.agner.org/optimize
- 889 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:31:27.84 ID:6eoHy3Qx.net]
- 人がいた
ありがとう NASMを使ってみるよ
- 890 名前:デフォルトの名無しさん mailto:sage [2015/10/25(日) 08:21:51.96 ID:gC05hgZm.net]
- >>855-856
でもその多階層のおかげでハードウェア仮想化がやり易かったのも事実で Ring0でハイパーバイザを動かしてRing1でゲストOSのような使い方ができる
- 891 名前:デフォルトの名無しさん [2015/11/03(火) 09:18:31.95 ID:XRdoJJRy.net]
- 32ビットにアセンブルしかできないコンパイラがありこれを64ビット環境で実行したいんだけど
どうすればいいですか? fib.sはそのコンパイラで作成 gcc -g -O2 -Wall fib.s -lm エラーを1つ抜き出すと fib.s :30: Error: invalid instruction suffix for push 30行目にはpushl %eax → pushq %raxと直すとエラーは消える
- 892 名前:デフォルトの名無しさん mailto:sage [2015/11/03(火) 11:44:49.57 ID:Fliardzw.net]
- 普通に32ビット環境向けにコンパイルするんじゃダメなんですかね?
gccのオプションに-m32を追加してやって
- 893 名前:デフォルトの名無しさん [2015/11/03(火) 14:30:53.52 ID:C0Kah9v/.net]
- できました
ありがとう
- 894 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 12:01:39.79 ID:uJ085arg.net]
- 林晴比古さんのアセンブラ入門見ているんだけど
COM形式で書かれたHelloworld とASM形式の違いって何?
- 895 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 15:07:27.87 ID:udrFqHkE.net]
- EXEフォーマット
- 896 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 19:37:15.05 ID:yluT1kPN.net]
- 俺が村田だ
- 897 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 19:57:01.78 ID:9w8rhkkq.net]
- 俺は田村だ
- 898 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 19:49:30.00 ID:2tQBU5BA.net]
- 俺は田田になろう
- 899 名前:デフォルトの名無しさん mailto:sage [2016/01/13(水) 18:34:18.73 ID:IMboGSkT.net]
- じゃあおれは村村
- 900 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 03:26:52.36 ID:byr4bFjT.net]
- ムラムラとな
- 901 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 15:01:07.24 ID:YerkhKe+.net]
- くだらねえこと書いてる暇があったらコード書け
- 902 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 15:53:45.03 ID:zSKdEvcq.net]
- C F G7 C
- 903 名前:デフォルトの名無しさん [2016/02/07(日) 18:06:15.79 ID:2wykn2ry.net]
- れいさん乙
- 904 名前:デフォルトの名無しさん mailto:sage [2016/03/26(土) 03:07:39.25 ID:djw8qeqA.net]
- ムッシュ
- 905 名前:デフォルトの名無しさん [2016/04/26(火) 21:52:15.84 ID:Sbprxlsu.net]
- アセンブラ学びたいんですがアセンブラやるならまずCASLやれと言われて
CASLについて調べたんですけどもCASLとアセンブラって全くの別物ですよね。 CASLを理解出来ればアセンブラ習得に役に立つとかそういうものはあるんですか? PC周りについても全く詳しくないのでそういうのも兼ねて学習できる言語ならいいのですが
- 906 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 01:00:54.66 ID:vpv25bM3.net]
- アセンブラは、各CPUで異なるから、一々、個別のCPU命令を覚えていられない
一般的なアセンブラの記法である、CASL2, LLVM などの仮想アセンブラで、勉強する 実行時、 仮想アセンブラ → 各CPU個別の命令 へと、変換される
- 907 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 02:57:44.07 ID:/k94gDMl.net]
- >>883
まずは取っつきやすい32bit用でどうぞ www.masm32.com/
- 908 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 09:53:26.31 ID:EoTK5XPo.net]
- >>884->>885
回答ありがとうございます。 自分はollydbgでcrackmeを解くことが出来るスキルを付けることを目標にしてるのですが でもプログラミング経験がほぼ無いのでまずとっかかりにCASLやって...その後アセンブラを学ぼうと思ってるんですが 学習方法は間違えてないでしょうか?
- 909 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 13:29:56.10 ID:mkzH47Ig.net]
- それとアセンブラにも
PIC,マイコン、Z80など色々種類があるみたいですが、どれが自分の目的にあってるか教えてほしいです 自分の環境はwin7,64bitです。この環境でも学習できるものを学びたいです
- 910 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 15:09:51.70 ID:+os+Vu+g.net]
- >>886
CASLやっても実践ではあまり役に立たないので、やりたいことが決まっているのであれば、 何もわからなくてもとにかく以下の例の通りにそのままいじってみる。 grayhat-3dmovie-programming.com/it/programming/77/ 最初はわからないことだらけでも、基本はIntel 386 CPUの命令の羅列なので、 ollydbgの画面で1ステップずつ実行しながら理解するのが一番早い。
- 911 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 23:45:35.49 ID:i86kqw6x.net]
- >>888
命令も何も理解してないまま、実戦に移って知識が付いていくものですか? アセンブラはかなり難しいイメージがあるので基本を押さえてないとデバッグは無理と 勝手に自分の中で思っていたのですが… 時間はたっぷりあるので確実に覚えたいです
- 912 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 01:03:20.60 ID:D/2kUBT7.net]
- メモリとレジスタだけ理解してりゃ、命令なんかその場で覚えりゃ十分
ビット演算とかその辺の動きは理解が必要かもしれないが、その程度 特権命令とかセグメントうんたらが必要になるなら、それはまたその時 ただ、x86のDOSでbios呼んで何かやる以外、初心者がアセンブラだけで簡単に出来ることなんて、なにもないけどな それなら、C/C++の一部をアセンブラコードを出させてそれを読むとか、一部をアセンブラで書いてみるとかの 主体がC/C++にある方がずっとやりやすい
- 913 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 01:04:41.95 ID:D/2kUBT7.net]
- メモリとレジスタだけじゃなく、フラグとスタックの仕組みくらいは最初に覚えといた方がいいか
- 914 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 02:42:09.05 ID:atZPORcr.net]
- >>889
基本から勉強しようとする気持ちはわかるけど、いいデバッガ・アセンブラがあるんだから 実行しながら覚えたほうが早い。CPUのマニュアルを横に置いて、1ステップ実行したら 状態フラグとレジスタの値がどう変わるか見れば動作はわかる。 ollydbgはアセンブルもできるらしいから、1〜数行のコードを書いて実行させることもできる。 とにかく毎日デバッガとアセンブラに触ること。動かして失敗しながら覚えること。 わからないことはその都度調べれば間に合う。
- 915 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 21:22:05.78 ID:sUt0Q0jr.net]
- よくわかりませんけどね、
CとかVBをアセンブラに変換するソフトを作れば、 なんかアレな感じじゃないですか。
- 916 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 21:53:31.21 ID:zOCFIMbn.net]
- VBなんか知らんが
ほぼ全てのCコンパイラが、Cで書かれたコードをアセンブラに変換して出力する機能を持ってるよ それしかなく、実際に機械語に変換するのはアセンブラプログラムにまかせてしまっているコンパイラもある
- 917 名前:デフォルトの名無しさん [2016/05/01(日) 15:51:33.79 ID:tKi6j9CT.net]
- 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポート
- 918 名前:解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません 。 [] - [ここ壊れてます]
- 919 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 21:31:55.58 ID:rzpxdG1A.net]
- 初心者がアセンブリ言語を覚えたいと言ったとき
その8割は「Windowsで動くゲームを作りたい」「Windowsで動くゲームを改造してチートしたい」といったものであり 勉強すべきはWindows環境についてであってアセンブリ言語についてではなかったりする
- 920 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 18:17:05.69 ID:cRuVDbfJ.net]
- アセンブラの教科書よりやねうらお先生のぱんつの方がベスト
- 921 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 21:38:41.15 ID:OWOfsawE.net]
- おすすめの書籍教えて
- 922 名前:デフォルトの名無しさん [2016/05/07(土) 10:45:20.57 ID:Kik6brAm.net]
- いまどきのLLVM
- 923 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 13:09:41.32 ID:U+Yqq8Eg.net]
- チートなんて、まず無理
メモリの値を変えても、サーバーと通信したときに、 パリティなどをチェックして、改造されていないかどうかを確かめるから、ばれる ルーターの中には、伝送誤りが起こっても、パリティを変えて、正常と扱うものがあるので、 ドラクエXでは、そもそも通信されたデータを信用していない だから、常に独自にチェックしている
- 924 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 15:50:50.22 ID:4GJcXDs9.net]
- 所謂チートバグみたいにオフゲーでも改造して挙動を楽しみたいとかあるのよ
- 925 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 16:22:32.96 ID:3mhGs5Tp.net]
- >>900
オンラインゲーム前提で話してて草生える
- 926 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 11:24:47.08 ID:NDoMe0zH.net]
- C++のプロローグを詳しく説明してるwwwか書籍はないですか?
www漁るとCばっか
- 927 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 11:45:33.85 ID:pwQcqOb7.net]
- 努力不足
やりなおし
- 928 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 11:36:13.64 ID:noyNIse2.net]
- 904です
分かりやすく書いてあるのみつけて、解決しました。
- 929 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 00:50:37.74 ID:1N2kVLqm.net]
- お疲れ様
- 930 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 19:54:30.30 ID:AfHNbOje.net]
- やる気のある者は去れ
- 931 名前:デフォルトの名無しさん [2016/06/12(日) 14:47:28.03 ID:nRDxQz3o.net]
- アセンブラの&はどういう意味?
結合? andと同じ?
- 932 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 18:20:14.59 ID:fuUaUmmT.net]
- 何のアセンブラだよ。
- 933 名前:デフォルトの名無しさん [2016/06/12(日) 18:58:05.37 ID:nRDxQz3o.net]
- >>909
ARM・・でいいのかな? そこもよくわからない・・・
- 934 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 21:02:59.04 ID:XGvNNTcY.net]
- 擬似命令だったり、&hとして16進数を意味したり、アセンブラによっていろいろあるけど
ARMだとどうなんだろ gasだとまた違ったりするだろうし 意外にbytecode用の中間出力だったりする可能性もあるし (見たこと無いのでよく知らない)
- 935 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 21:07:59.02 ID:MHUKBP3O.net]
- 可能ならソース貼れば?
- 936 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 21:53:24.12 ID:nqTn+/vX.net]
- llvm IRはぱっと見だと&記号使ってないような
intel記法、AT&T記法でも使ってないよね 独自のマクロとかだとソース無いと詰むな
- 937 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 19:49:26.85 ID:RQgSJKk0.net]
- 今の時代にアセンブラが必要って、
どういう分野のプログラマーなんだろ。 少し前に、非公式のファミコンソフトが出たけど、 そんなのしか思いつかん。
- 938 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 22:25:44.33 ID:yIJ2BCTZ.net]
- 安い1ボードPCが手に入るから、Cとかで書いたプログラムをOS無しで動かすとかしたいとき、
ブートローダからバトンもらってCに渡すような部分はアセンブラじゃないかな。
- 939 名前:デフォルトの名無しさん [2016/06/16(木) 23:23:22.10 ID:VLfFMudl.net]
- >>914
ファームウェア、OS、チップ周りのコードは全部アセンブラ。 アプリの人がくだまいてるのは知識を自慢したいだけ。あとはレトロ趣味。
- 940 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 00:47:33.75 ID:g/0le+GF.net]
- >>916
いつの時代からタイムスリップしてきたんだ?
- 941 名前:デフォルトの名無しさん [2016/06/17(金) 03:17:01.37 ID:PNM3xCxJ.net]
- >>917
俺がアセンブラで書いたことあるのは、ブートローダ、カーネルプリミティブとかスケジューラ、MMU周り、ファームウェアとかコントローラ周りくらい。アプリでアセンブラ書いたことは一度もない。逆アセとか解析とかはまあするけど。 ついこないだだと思ってるけどな。 ようはCが動く状態になったらアセンブラなんかで書く必要ないってことだけど、違うって言いたいの?
- 942 名前:デフォルトの名無しさん [2016/06/17(金) 08:09:43.93 ID:ecrIc0Au.net]
- あ、全部ってのは間違いで、ドライバとかファイルシステムとかCで書けるとこはもちろん
Cで書く。 アセンブラが必要なのはCでかけないような処理か、Cコンパイラがないような環境かのどちらか。 ここで延々と話してる内容がそのどちらでもないような話が多いみたいなんで、詳しい人達が互いに、知識を競ってるようにしか見えないのが残念。
- 943 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 12:03:29.49 ID:WSjlHFjC.net]
- マ板でやれって話しかないからな
- 944 名前:デフォルトの名無しさん [2016/06/17(金) 23:36:40.98 ID:5J9spy9L.net]
- >>915
こんな本もある 12ステップで作る 組込みOS自作入門 kozos.jp/books/makeos/
- 945 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 18:13:15.88 ID:d8nab9By.net]
- アセンブラについてはノー知識だけど、os.phil-opp.com/multiboot-kernel.html で
x86_64でgrubからバトン渡されてRustのコードにバトン渡すまでのアセンブラが説明してあって興味を持ちました アセンブラの命令自体は簡単だけどそれ以外の知識が沢山要るので大変なのだなあと感じています 今まで特に気にしてなかったリンカの意味とかnmで見える.textの意味とかが分かってきて楽しい
- 946 名前:デフォルトの名無しさん [2016/06/20(月) 22:36:43.19 ID:/Loo3J/M.net]
- OSの立ち上げ部分を勉強したいなら、Rustっていうので書かれたサンプルをCで書き直してみればいい練習になると思うよ。
- 947 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 13:21:30.40 ID:/3QNO0r0.net]
- >>918
おまいさんが書いたと言ってるosはどこからダウンロードできるの?
- 948 名前:デフォルトの名無しさん [2016/06/25(土) 09:35:23.63 ID:+uLhlbXC.net]
- >>924
公開はしてない。Linuxならソース探せば上げれると出来ると思うよ。プロプライエタリな奴は上げれない
- 949 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 18:39:49.55 ID:gm7Fhm/d.net]
- >>924
人のもの見る暇があるなら自分で書いてみればいいのに。
- 950 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 02:56:54.16 ID:P6ezUFsS.net]
- >>922
これかなりいいよね
- 951 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 15:47:26.63 ID:Xfds6bLp.net]
- 質問します
LDR R1, =(aLimitfpsToD - 0x18C0FF8) ってのがあるんですがこのときR1レジスタに入るのは0x18C0FF8のメモリ番地が 入るだけでしょうか?数値は入らないですよね? 変な質問ですいません
- 952 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 16:02:52.63 ID:5ckL0Bml.net]
- 数値が入る
しかも全然違う
- 953 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 18:21:05.37 ID:Xfds6bLp.net]
- >>929
回答ありがとうございます。 差し支えなければどんな数値が入るか教えてもらえませんか?
- 954 名前:デフォルトの名無しさん [2016/06/28(火) 18:45:43.76 ID:nfEKCddO.net]
- なんのアーキテクチャか分かんないけど、aLimitfpsToDってのがどこかのラベルで0x18C0FF8からのオフセットが入んじゃないのかな?
(と=は知らんw
- 955 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 14:40:17.96 ID:15yOy0V1.net]
- アセンブリ(言語)
- 956 名前:とアセンブラを混同している人がたまにいる、という話題は既出ですか? []
- [ここ壊れてます]
- 957 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 15:03:39.28 ID:A93JdvJw.net]
- なにアセンブリをアセンブラでアセンブルするだけの事だ
混同されても実害はない
- 958 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 16:06:32.52 ID:+NpkjfxL.net]
- はやてのように アセンブル
- 959 名前:デフォルトの名無しさん [2016/06/29(水) 16:21:03.35 ID:I/2QdAFu.net]
- あまり気にしなかったけど、「アセンブラのコード書く」とかは間違いなの?普通に言ってたけど。アセンブリで書くとか違和感あるけどな。
- 960 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:32:10.33 ID:V1IZrtk2.net]
- assembler 組み立て工、組み立てる人、アセンブラ
assemble 〜を組み立てる assembly 組み立て assembly language 組み立て用言語、アセンブリ言語
- 961 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 17:50:54.09 ID:C8/RLHPN.net]
- >>932
https://en.wikipedia.org/wiki/Assembly_language An assembly (or assembler) language,[1] often abbreviated asm, is a ... References 1. Assembler language, IBM Knowledge center www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/asmr102112.htm
- 962 名前:デフォルトの名無しさん [2016/06/29(水) 19:18:46.15 ID:QKmYa11M.net]
- >>932
assemble+er、義務教育レベルの英語も理解できていないという事。 mayonnaiseは、フランス語だから、英語の規則は当てはまらないけれど、それでもmayoreには、ならない。 無理矢理ならば、mayonnaiserか、mayonnaiseist。 そんな事も解らない人達なんだよ。
- 963 名前:デフォルトの名無しさん [2016/06/29(水) 19:20:04.12 ID:QKmYa11M.net]
- >>937
それは、アセンブラで使用する言語って意味ね。
- 964 名前:デフォルトの名無しさん [2016/06/29(水) 21:49:22.20 ID:u3VATEok.net]
- 言語のことをアセンブリって言うのは分かるけど、独習C、独習C++、独習アセンブリ?
アセンブリとアセンブラは慣例的にはあまり区別されてないように思うけどな。
- 965 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 15:33:47.45 ID:VmcBuUmn.net]
- アセンブラで言語そのものを指す人もいれば、アセンブリを機械語に翻訳するプログラムだけ、って人もいる
区別しないと意図が伝わらない場合がどんだけあるかを考えると、さして深刻な問題じゃないような
- 966 名前:デフォルトの名無しさん [2016/07/16(土) 23:38:52.13 ID:MXamywZj.net]
- アッセンブルEX10
- 967 名前:デフォルトの名無しさん mailto:sage [2016/07/17(日) 02:26:22.26 ID:u2dAluYM.net]
- 日本語としては、区別さえできればどちらでもいい
要は話者が寛容であるかどうかだ
- 968 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 20:38:10.64 ID:CgUWJQKrz]
- CallWindowProcAにOllyDbgでログ付き条件ブレークポイントをかけて、ウィンドウで受け取るメッセージの詳細を出力する時にどうして式はEBP+8じゃないといけないのでしょうか
EBP+8にはウィンドウのハンドルが入っていて、特にMSG構造体へのポインタとかではないように思うのですが…
- 969 名前:944 mailto:sage [2016/08/12(金) 17:12:44.32 ID:URvVD4gpm]
- CallWindowProcAぜんぜんウィンドウプロシージャじゃなかった
解決しました
- 970 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 10:48:09.91 ID:eBSmAB5D.net]
- PE フォーマットの解説を知らないか?
- 971 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 12:49:07.08 ID:Z8SQUEFb.net]
- 仕様書がMSDNにあるはずだけどそこに書かれてない話?
- 972 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/10/16(日) 14:46:56.15 ID:Ou+5Vobn.net]
- >>946
Resource Hackerのヘルプを参照
- 973 名前:デフォルトの名無しさん [2016/10/16(日) 14:48:03.15 ID:eOEStkDD.net]
- なんとか洋介山の本捨てたつもりだったがまだあった
来月捨てよう
- 974 名前:デフォルトの名無しさん [2016/10/18(火) 19:22:34.09 ID:Pul0IDVM.net]
- つBOOK・OFF
- 975 名前:デフォルトの名無しさん [2016/11/16(水) 23:15:55.17 ID:d7D9Ori4.net]
- 4bitアセンブラはどのスレで活動すればいいですか?
- 976 名前:デフォルトの名無しさん [2016/11/17(木) 00:05:52.27 ID:d/bxtnYG.net]
- >>951
75X?
- 977 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 22:59:32.63 ID:sTWK9lm6.net]
- >>952
縦積み命令がわからない MOV A,#0 MOV A,#2 MOV A,#4 こういう書き方ってなんなの?
- 978 名前:デフォルトの名無しさん [2017/01/05(木) 19:44:04.66 ID:VylnptJy.net]
- 助けてください
仕事で使わなきゃいけないのですが職歴コンビニバイトのみの新人で何から何まで一切分かりません h8なんとかっていうpdfだけ渡されて、これで頑張ってと言われました
- 979 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 20:15:49.65 ID:4pCGEQz7.net]
- そんなやつに仕事任すわけねーだろw
- 980 名前:デフォルトの名無しさん [2017/01/05(木) 20:54:33.92 ID:NEvicUSZ.net]
- >>953
たぶんMOVじゃないんじゃないかと。 縦積みが必要なのは、条件分岐が無いから。 ある条件が成立すると、次の命令がスキップ(実行されない)。 よって、この組み合わせ、すなわち、縦積みで条件分岐ができるようになるんだ。
- 981 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 23:15:42.12 ID:xlHoBTkZ.net]
- >>954
年明けからジョークですか
- 982 名前:デフォルトの名無しさん [2017/01/06(金) 06:59:42.56 ID:KJDRn8ud.net]
- いや本当なんです
今まではそれの図みたいなやつを直すのをやらされてました とにかくでてくる命令ひとつひとつが分からないのですがやさしく解説してるサイトとかありませんか
- 983 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 09:33:41.11 ID:aKJxE5Q6.net]
- H8 入門
でくぐれ
- 984 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 15:26:03.02 ID:XtKi9eaG.net]
- >>954
h8ならこっちの板の方がやさしいお兄さんが大勢いる rio2016.2ch.net/denki/
- 985 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 21:51:45.02 ID:oEH4w/58.net]
- >>958
コンピュータの基礎からやらなきゃわかるわけないのに、何から何までわからない人ができる仕事じゃない。 医学書渡されて、これ見ながら手術してと言われるようなもん。基礎知識と経験なしにできるわけがない。 他の仕事をお勧めします。
- 986 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 12:53:22.13 ID:YsJi63qB.net]
- それが本当なら
なにもわからん人にいきなりそんなことやらせる会社は早く辞めた方がいい 後でどんな難癖つけられるか分かったもんじゃない
- 987 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 06:53:06.66 ID:UsTZ20bb.net]
- もらったPDFに全命令書いてあるというオチがありそうなんだが
メーカ配布のやつでフラグ変化から消費クロックまでしっかり書いてあるやつ
- 988 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 04:01:17.79 ID:ha1UN0gn.net]
- アセンブラはじめるならLinuxでやるといいよ
DOSと同じような感覚でアセンブラプログラミングができるから こんな感じ Linux でアセンブリプログラミング www.mztn.org/lxasm/asm00.html Linux で64bitアセンブリプログラミング www.mztn.org/lxasm64/amd00.html Linuxでのアセンブル方法はこんな感じ as -a=hogehoge.lst -o hogehoge.o hogehoge.s ld -o hogehoge hogehoge.s
- 989 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 04:03:45.58 ID:ha1UN0gn.net]
- UbuntuだとQEMUを入れるだけでQEMU+binfmtの設定が自動せされるから
ライブラリへのリンクを貼るだけで他のCPUのバイナリをそのまま実行できるようになる UbuntuだとARM、MIPS、PowerPCができる 64bitARMならこんな感じ sudo apt-get install qemu sudo apt-get install g++-aarch64-linux-gnu sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib sudo ln -s /usr/aarch64-linux-gnu/lib /lib/aarch64-linux-gnu 32bitARMならこんな感じ sudo apt-get install qemu sudo apt-get install g++-arm-linux-gnueabihf sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib sudo ln -s /usr/arm-linux-gnueabihf/lib /lib/arm-linux-gnueabihf Cのコンパイル方法はこんな感じ aarch64-linux-gnu-gcc -O2 -o hogehoge hogehoge.c gcc-arm-linux-gnueabihf-gcc -O2 -o hogehoge hogehoge.c アセンブル方法はこんな感じ aarch64-linux-gnu-as -a=hogehoge.lst -o hogehoge.o hogehoge.s aarch64-linux-gnu-ld -o hogehoge hogehoge.s <
- 990 名前:br>
gcc-arm-linux-gnueabihf-as -a=hogehoge.lst -o hogehoge.o hogehoge.s gcc-arm-linux-gnueabihf-ld -o hogehoge hogehoge.s できたバイナリは普通に実行できる ./hogehoge バイナリがどのアーキテクチャかはfileコマンドで確認できる file hogehoge [] - [ここ壊れてます]
- 991 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 04:33:05.28 ID:ha1UN0gn.net]
- 修正
Linuxでのアセンブル方法はこんな感じ as -a=hogehoge.lst -o hogehoge.o hogehoge.s ld -o hogehoge hogehoge.o アセンブル方法はこんな感じ aarch64-linux-gnu-as -a=hogehoge.lst -o hogehoge.o hogehoge.s aarch64-linux-gnu-ld -o hogehoge hogehoge.o gcc-arm-linux-gnueabihf-as -a=hogehoge.lst -o hogehoge.o hogehoge.s gcc-arm-linux-gnueabihf-ld -o hogehoge hogehoge.o
- 992 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 05:30:13.84 ID:ha1UN0gn.net]
- ちなみにx86_64上のLinuxで32bitのバイナリを作成したい場合はこう
x86_64のLinuxでのCの32bitのx86バイナリのコンパイル gcc -m32 -O2 -o hogehoge hogehoge.c x86_64のLinuxでの32bitのx86アセンブル as --32 -a=hogehoge.lst -o hogehoge.o hogehoge.s ld -melf_i386 -o hogehoge hogehoge.o
- 993 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 06:40:56.41 ID:ha1UN0gn.net]
- nasmでのx86_64のLinuxでの32bitアセンブル
nasm -f elf hogehoge.s ld -melf_i386 -o hogehoge hogehoge.o nasmでのx86_64のLinuxでの64bitアセンブル nasm -f elf64 $1.s ld -o $1 $1.o Ubuntuでのnasmのインストール方法 sudo apt-get install nasm
- 994 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 06:53:32.55 ID:ha1UN0gn.net]
- nasmでリスティングファイルも一緒に出力したい場合は
32bit nasm -f elf -l hogehoge.lst hogehoge.s 64bit nasm -f elf64 -l hogehoge.lst hogehoge.s
- 995 名前:デフォルトの名無しさん mailto:sage [2017/02/08(水) 20:50:02.86 ID:Mk3WVo/H.net]
- intel表記じゃないから却下
- 996 名前:デフォルトの名無しさん mailto:sage [2017/02/09(木) 06:59:54.86 ID:z8fk+TnA.net]
- MASM互換でないだけで、ニモニック自体はIntel記法やで
- 997 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 00:33:42.60 ID:+9W7kpIJ.net]
- nasmでの疑似命令equ,res*, defineの違いって何ですか?
また gasでのそれらに相当するものは?
- 998 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 01:10:33.00 ID:OEoJPS/I.net]
- EQU 定数で置き換える
RES*シリーズ 指定単位×サイズのメモリ領域を確保する %DEFINE 一行マクロ、関数みたいに引数取れる gasは手書きに使うような代物じゃないから忘れていい
- 999 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 19:30:51.76 ID:yLUryXxs.net]
- どうもです
色んな事が色々ごっちゃになって分けわからんくなってました すいません基本gasでやってるんです nasmの情報のが多いのでそっから変換したりしてやってます まぁ確かに無駄が多いですが趣味の範囲なんです なので無駄なんだけど無駄じゃないんです それにやってないけど多分エディタによっては設定すれば自動挿入は普通に出来るんじゃないかと思ってます
- 1000 名前:デフォルトの名無しさん [2017/02/23(木) 19:33:38.38 ID:eG9NqkD/.net]
- やりたければやればいい
やってはいけないなんてことはまったくない
- 1001 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:12:05.71 ID:3gLAKAVZ.net]
- では頑張る若者にプレゼントをあげやう
ttp://www.ibm.com/developerworks/jp/linux/library/l-gas-nasm.html IT界の巨神IBMさんが書いてくれたgasとnasmの比較記事だ
- 1002 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 19:12:19.30 ID:f3uHJh0R.net]
- intel構文だとソースとデスティネーションが逆なんだよね。紛らわしい
- 1003 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 20:40:37.72 ID:1tN3aNfb.net]
- 不通にあるあるなんだが
- 1004 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 07:00:33.75 ID:4RyJuYrh.net]
- 68系も普通にやってたから、そこら辺はすぐに頭を切り替えられた
だがニモニック自体の変更は許せん……
- 1005 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 14:52:11.20 ID:OcBIGmL7.net]
- mov a,b がa←bじゃなくてb←aなの?
- 1006 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 18:57:27.30 ID:ZV5SMkF2.net]
- 馬鹿には無理
- 1007 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 13:31:26.32 ID:nBceVUOh.net]
- movならop1→op2
loadならop1←op2 っつー感覚
- 1008 名前:デフォルトの名無しさん [2017/03/03(金) 14:06:44.03 ID:IUFykjWp.net]
- leaは?
- 1009 名前:デフォルトの名無しさん mailto:sage [2017/03/06(月) 16:43:49.83 ID:7tw9lmnR.net]
- loadだから←かな
- 1010 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 21:11:56.27 ID:w2yLRFMN.net]
- >>982-984
jmp 980 以下無限ループ
- 1011 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 00:44:05.09 ID:9+K5Dr1K.net]
- >>985
jr FC
- 1012 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 23:15:09.01 ID:fJKFVkkF.net]
- ???
FC? 何それ?
- 1013 名前:竄チた事ない人かな?
弾かれない? [] - [ここ壊れてます]
- 1014 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 10:32:39.89 ID:JsoExgwj.net]
- ラベルが定義されてたのかも知れないし
どうせ $FC だったり #FC だったり 0xFC だったり FCh だったりするんだから どうでもいい >987 こそアスペなんだろ
- 1015 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 10:57:57.87 ID:wNy7VRXS.net]
- >>986がダメなのは
JRでの相対ジャンプの計算では、基準となるPCは命令実行後のアドレスから つまり、>>985においてJRを実行する時は985からの基準してカウントする必要があり >>985と同じく>>981にジャンプするためには、JR 0FBhと計算しなければいけないとわかっていないこと
- 1016 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 11:25:17.84 ID:JsoExgwj.net]
- >>989
そもそも 1レス 1byte って誰が決めたん
- 1017 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 11:34:43.20 ID:pwo5j4El.net]
- オフセットが奇数ってのも8ビットっぽくていいね
- 1018 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 18:39:54.13 ID:lkugX1fn.net]
- ソフト組んでると、何で奇数番地にジャンプしたり奇数番値から実行するのが良くないのかよくわからないんだよね。
- 1019 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 15:42:23.11 ID:94U0uFA6.net]
- 回路が複雑化しそう
- 1020 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 03:52:31.48 ID:6tZXs6+Y.net]
- どのCPUの話なのか分からないけど、基本的にはアクセス単位が16bitや32bitだからかと。
x86の場合、外部仕様は可変長命令だけどマイクロコードはRISCっぽい処理なので 奇数アラインされると効率が悪くなる(場合がある)から
- 1021 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 19:44:57.04 ID:/2QbeuLQ.net]
- 奇数アドレスに16ビットアクセスしたら通常はバスサイクル二回に分割される
PCIはxxx1、xxx2、xxx3番地から32ビットバースト転送してもオーバーヘッドは1サイクルだけだけど 変態だわ
- 1022 名前:デフォルトの名無しさん mailto:sage [2017/04/13(木) 00:30:13.60 ID:qkqMClc4.net]
- 当方の環境はWindows7 SP1 x64でml64.exeを用いて
これからアセンブラを勉強したいと思っています。 とりあえずまずは手始めにcの標準関数、 例えばprintfとかputsとかを呼び出して「hello,world」でも... と思っているんですが、 一体どのファイルを「includelib」して「call printf」等すれば良いのか わかりません。 今のところ「user32.lib」とか「kernel32.lib」とか「msvcrt.lib」とか 読み込んでいますが、「unresolved external symbol printf....」と エラーがでてしまいうまくいきません。 ml64の環境でcの標準関数を呼び出すには、 一体どのlibファイルをincludeすれば良いのでしょうか?
- 1023 名前:デフォルトの名無しさん mailto:sage [2017/04/13(木) 02:32:35.73 ID:8XBnDqPS.net]
- libはリンクした?
- 1024 名前:デフォルトの名無しさん mailto:sage [2017/04/13(木) 14:59:16.50 ID:6bOxPLAt.net]
- msvcrt.libで行けると思うけど環境変数lib設定してある?
- 1025 名前:デフォルトの名無しさん mailto:sage [2017/04/13(木) 15:09:29.21 ID:m/ZfxtWH.net]
- Winでのアセンブラはあまりオススメしないなぁ。。。
結局Cの関数なWin32API呼び出しまくるんでCでええやん。。。ってなる。 アセンブラならDOSかPICとかのマイコンのがアセンブラ使ってる感があって面白いよ。
- 1026 名前:デフォルトの名無しさん mailto:sage [2017/04/13(木) 17:04:04.99 ID:lsSSpfTO.net]
- 999
- 1027 名前:デフォルトの名無しさん mailto:sage [2017/04/13(木) 17:36:16.85 ID:1WMn3pSz.net]
- アセンブラ初心者スレッド 2
echo.2ch.net/test/read.cgi/tech/1492072555/
- 1028 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|