ウホウホゴリラッホ

主に勉強したことをまとめていきます。twitter:@pytran3

2020-01-01から1年間の記事一覧

20代最後の年に電通大夜間主に編入してみた

プログラミングスクール*1電気通信大学の先端工学基礎課程(夜間)に編入できることになったので、簡単に流れをまとめてみました。 誰かの参考になれば幸いです。 プログラミングスクール?に春から通います pic.twitter.com/QXz93y80vZ— pytran (@pytran3) …

ISUCON10に参加した

概要 ISUCON10に参加して180位くらいでした。(結果が確定かよくわからない) 気になったワード(随時更新) alp pt-query-digest MySQL Tuner Cloud Profiler Cloud Trace

アセンブリ勉強記録 7

勉強したこと ポインタ ポインタの指し先を書き換える場合はデータ長を指定しないといけない。 mov [test], 4 ; <- compile error mov byte[test], 4 ; <- ok!! 文字列 コードを写経した。基本的にこういうロジックはC言語で学んだことと同じくやるらしい。 …

アセンブリ勉強記録 6

勉強したこと call call <address>は以下の糖衣構文らしい push rip jmp <adress> ripはリターンアドレスを表す。 ret retとpop ripは同じ意味らしい? return a value raxに戻り値を格納する。rdxも同様の役割をもつらしく、第2の戻り値として利用される。 システムコール </adress></address>…

アセンブリ勉強記録 5

勉強したこと 呼び出し先退避レジスタ・呼び出し元退避レジスタ レジスタを守る規約として関数に関しては以下のように定められている。 呼び出し先退避レジスタ:rbx, rbp, rsp, r12-15 呼び出し元退避レジスタ:上記以外

アセンブリ勉強記録 4

勉強したこと syscall linuxのシステムコールのテーブルは以下で定義されている。カーネルが立ち上がるときにハンドラがこのように登録される。 linux/syscall_64.tbl at v4.15 · torvalds/linux · GitHub system callの実装はこのへんのどこかにあるはず li…

アセンブリ勉強記録 3

勉強したこと NASMでの実行ファイルの生成 リンクする必要があるらしい。 nasm -felf64 main.asm ld -o main main.o 徒然 movではメモリtoメモリのコピーができないらしい。レジスタ<->メモリはできるのかな? syscallで呼び出されるシステムコールはカーネ…

アセンブリ勉強記録 2

勉強したこと ハードウェアスタック スタックをハードウェアでサポートしており、rspレジスタを利用する。 rspレジスタにはスタックの最も上にある要素のアドレスが格納される。オペランドのサイズは通常8バイトを使うが2,4バイトも使える。 stack overflow…

アセンブリ勉強記録

動機 コンパイラを書くにあたって、アセンブリの知識が無いと難しいことがわかったので平行して勉強していこうかと。 最初の目標は再帰関数でフィボナッチ数を計算することにした。 勉強したこと おまじないたち おまじない扱いされてそうな彼ら .intel_synt…