by shigemk2

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

2014-05-11から1日間の記事一覧

8086のアセンブラいろいろ #ikebin

8086アセンブラについて 標準出力1でwriteの第一引数はaxに格納する「決まり」となっている で、その決まりを無視すると正しく結果が返ってこなかったり終了コード そのアセンブリをF#で Array.zeroCreate 0x10000 (1つ1つがバイト型で、要素数0x10000の配列…

アセンブリのシステムコールとか #ikebin

しゃーぷで数字を指定する int 7以下.dataでシステムコールの中身が記述する 本当はasmじゃなくて.sファイルですけども。 ! write(1, hello, 6); mov ax, #1 int 7 .data1 4 .data2 hello, 6 ! bx = hello; ! *(uint16_t *)(bx + 2) = 0x4548; mov bx, #hell…

8086で小さなバイナリのインタプリタ #ikebin

let aout = System.IO.File.ReadAllBytes "a.out" let read16 (a:byte[]) b = (int a.[b]) ||| ((int a.[b+1]) <<< 8) let tsize = read16 aout 2 let dsize = read16 aout 4 let mem = aout.[16 .. 16 + tsize + dsize - 1] let mutable ax, ip = 0, 0 whil…

久々のDoxygen

Mac

Doxygenで関数の呼び出しグラフを作って、GNU GLOBALと組み合わせてソースコードリーディングしやすくしてみたかった。 環境 Mac OSX 10.9.2 C言語のソースコード doxygen -v 1.8.6 graphviz 2.38.0 なぞればよかった ソースコードを読むのに Doxygen + Grap…