by shigemk2

当面は技術的なことしか書かない

熱血!アセンブラ入門, 読書会 の検索結果:

熱血!アセンブラ入門 読書会(18) 最終回 まとめ

…強会のまとめです。 熱血!アセンブラ入門 読書会(18) 最終回 (2015/07/01 20:00〜)hotasm.connpass.com PowerPC(64ビット) 32ビットと大して変わらない LP64I32 LPI64 LP64 ‐ 通信用語の基礎知識 52993 – gomp_init_nest_lock_25: possible bad call to memset add命令について。extswがあるだけ違う。 MIPS(64ビット) 仕様がほぼ同じ、命令も…

池袋バイナリ勉強会で1年半くらいでやったことをつらつら書く #ikebin

…参加しつづけたやつ 熱血!アセンブラ入門 読書会hotasm.connpass.com オープンソースアプリケーションのアーキテクチャ読書会read-aosa.connpass.com BSDカーネルの設計と実装 読書会connpass.com なんか入門記事向けっぽくScalaをテーマにQiitaで書いたやつ Scala ラムダ超入門 - Qiitaqiita.com Scala 代数的データ型 超入門 - Qiitaqiita.com 勉強会での発表 Node.jsでBr…

熱血!アセンブラ入門 読書会(15) #hotasm

熱血!アセンブラ入門 読書会(15) (2015/05/20 20:00〜)hotasm.connpass.com おさらい CISC系のCPUの関数の呼び出し jsrでスタックに積み、addで解放する i386では引数もスタック経由で渡される jsrが自動的に戻り値をスタックに積む 暗黙でスタックが積まれている スタックで出たり入ったりしているわけだけど 条件分岐 int condition(int a, int b) { if (a == b) b = 1; return…

熱血!アセンブラ入門 読書会(14) 休日編 #hotasm

…おさらい P257 熱血!アセンブラ入門 読書会(14) 休日編 (2015/05/06 16:00〜)hotasm.connpass.com MIPSの関数呼び出し int call_complex1() { return return_arg1(0xfe) + 1; } jal命令を呼ぶ時点でraを(暗黙で)書き換える その前にプロローグ、エピローグで値を退避、復帰させる スタックフレーム 00fe1598 <call_complex1>: fe1598: 27bdffe…

熱血!アセンブラ入門 読書会(13) #hotasm

熱血!アセンブラ入門 読書会(13) (2015/04/22 20:00〜)hotasm.connpass.com おさらい 10.1.4 raレジスタはハードウェア的に特別なものになっている raレジスタの実体 プロローグ jal命令 エピローグ jal命令はr0を壊すので、別のところへ退避している レジスタへのアクセスはメモリへのアクセスに比べて遅い 読み込みを待たない 読み込みが終わっていない可能性があるのはよくないので、nopで時間稼ぎをしている(ので、nopじゃなく…

熱血!アセンブラ入門 読書会(12) #hotasm

熱血!アセンブラ入門 読書会(12) (2015/04/08 20:00〜)hotasm.connpass.com 今回はP261から おさらい スタック メモリ領域のこと 関数を呼び出すたびにメモリ領域が確保される。また関数を呼ぶと、メモリ領域が積み上がっていく。処理が終わったら積み上がったものから終了していく(=メモリが解放される) 最後に積み上がったものから終了していく(マルチスレッドは例外だが、あんまりそれは考えなくていいと思う) マルチスレッドはスレッドごとにスタッ…

熱血!アセンブラ入門 読書会(11) #hotasm

おさらい スタック メモリの中にスタックと呼ばれるものがあって、それをどうやって使いまわすか void foo() { int a = 1, b = 2; } 変数はメモリの中に ローカル変数はスタックと呼ばれるメモリの中に存在している void foo(int a) { if(a > 1) foo(a - 1); } 関数を呼び出すごとにスタック領域が確保され、呼び出しが終わったら領域が消される。関数の処理が終わると解放される。 右の例でいうと、間を飛ばしてfunc2()が…

熱血!アセンブラ入門 読書会(10) #hotasm

途中参加。 熱血!アセンブラ入門 読書会(10) (2015/03/11 20:00〜) 熱血!アセンブラ入門 読書会(10) - connpass 前回 [http://shigemk2.hatenablog.com/entry/2015/02/25/%E7%86%B1%E8%A1%80%EF%BC%81%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9%E5%85%A5%E9%96%80%E8%AA%AD%E6%9B%B8%E4%B…

熱血!アセンブラ入門 読書会(9) #hotasm

X86アセンブラ/GASでの文法 - Wikibooks おさらい H8は可変長命令 命令の長さをケチるためにreturn 0の場合はsubを使っている。movだと4バイト H8は16ビットCPU 00fe1400 <_null>: fe1400: 54 70 rts 00fe1402 <_return_zero>: fe1402: 19 00 sub.w r0,r0 fe1404: 54 70 rts 00fe1406 <_return_one>: fe1406: 79 0…

熱血!アセンブラ入門 読書会(7) #hotasm

熱血!アセンブラ入門 読書会(7) (2015/01/28 20:00〜) 熱血!アセンブラ入門 読書会(7) - connpass おさらい エイリアスとは PPCやMIPSはあまり命令の数がない。ので、他のやつで組み合わせでできるものは他のもので表現してしまおう PowerPCでは liはload immdiate addiの特殊なケースがli r0は値はゼロとして扱うので、ゼロに何を足してもそのままの値となる li命令を別に作ると命令サイズを逼迫するのでaddiでどうに…

熱血!アセンブラ入門 読書会(6) #hotasm

前回のおさらい P131 void null() { return; } int return_zero() { return 0; } int return_one() { return 1; } 00fe1400 <null>: fe1400: e1a0f00e mov pc, lr 00fe1404 <return_zero>: fe1404: e3a00000 mov r0, #0 fe1408: e1a0f00e mov pc, lr 00fe140c <retur…

熱血!アセンブラ入門 読書会(5) #hotasm

P.120 SHとは SuperHitachiの略 ルネサス製 左から右へ代入している 00fe1400 <_null>: fe1400: 00 0b rts fe1402: 00 09 nop 00fe1404 <_return_zero>: fe1404: 00 0b rts fe1406: e0 00 mov #0,r0 シャープ4とかシャープ2とかが即値 00fe140c <_return_int_size>: fe140c: 00 0b rts fe140e: e0…

熱血!アセンブラ入門 読書会(4) #hotasm

…(単純に加算するだけ) mov.lで4バイトをPC相対でロードする際には,PCを4バイトアラインメント して,さらにオフセットを加算することでアドレスを計算している. (4バイトロードなので,アラインメントされる) わりと大きな間違いが残ってしまいすみません.校正は頑張ったのですが, SHの章はわりと早い時期に書いていた部分なので,チェック漏れでそのまま 残ってしまったようです.増刷などで修正の機会があれば直したいです 今日はP119まで 熱血!アセンブラ入門 サポートページ

熱血!アセンブラ入門 読書会(3) #hotasm

熱血!アセンブラ入門 読書会(3) (2014/11/19 20:00〜) 熱血!アセンブラ入門 読書会(3) - connpass P69 MIPSのアセンブラを見てみよう もっとPowerPCを見てみよう→見ない 同じCPUのアセンブラばかり読むと飽きる まだあまりPowerPCを知らない状態でMIPSを読むことで、アセンブラは「なんとなく」読めることを認識するため (ただし、この本は何十種類もアセンブラをみる) 今までの知識で他のアセンブラがどの程度わかるのか MIPS…

熱血!アセンブラ入門 読書会(2) #hotasm

P43 リターン命令 c言語サンプルプログラムとpowerpcサンプルプログラムを比較する リスト1.1 void null() { return; } int return_zero() { return 0; } int return_one() { return 1; } リスト1.5 00fe1400 <null>: fe1400: 4e 80 00 20 blr 00fe1404 <return_zero>: fe1404: 38 60 00 00 li r3,0 …

熱血!アセンブラ入門 読書会1 #hotasm

人と違うことをすること P1 熱血バイナリアン十訓 まずは読め 楽しんで読め 無理やり読め 勘で読め 暇を見つけて読め 思うままに読め 納得行くまで読め 明日も読め 飽きたら別のを読め わからなくても気にせず読め 基礎技術を知っていれば不足の事態でも自力でなんとかできるという強み どれだけ高レイヤーですごいものを書けるか どれだけ低レイヤーでなんでも書けるか 役に立たない分野のほうが勉強して得する部分がいっぱいある 役に立つ技術はみんな勉強するのでナンバーワンになるのは難しい…