プログラミングの力を生み出す本

インテルCPUのGNUユーザへ

ProductName プログラミングの力を生み出す本―インテルCPUのGNUユーザへ
橋本 洋志,松永 俊雄,冨永 和人,石井 千春
オーム社 / ¥ 2,625 ()


  • フラグの種類と役割
    • 符号付き制すのフラグ
  • array(%edi)はアドレス値$arrayに%ediを加算したアドレス値の内容にアクセス
  • retはcall分の次の命令にリターン
  • 引数の渡し方
    • レジスタ渡し
    • メモリ渡し
    • スタック渡し
  • 変数宣言
    • メモリ領域の確保
    • データに適した命令生成
  • メモリ内の構造体
  • 関数呼び出し
    • 引数をスタックにプッシュ
    • call命令を実行
    • 呼び出された関数はスタックの中を見ることで引数を使う

Common Lispでdisassemble

common lispのdisassembleを使うとアセンブラっぽく出力できる。

* (defun add1 (a) (+ a 1)) 

ADD1
* (disassemble 'add1)

; disassembly for ADD1
; 119CBD7A:       8B55F4           MOV EDX, [EBP-12]          ; no-arg-parsing entry point
;       7D:       BF04000000       MOV EDI, 4
;       82:       E8B94363F2       CALL #x4000140             ; GENERIC-+
;       87:       7302             JNB L0
;       89:       8BE3             MOV ESP, EBX
;       8B: L0:   8D65F8           LEA ESP, [EBP-8]
;       8E:       F8               CLC
;       8F:       8B6DFC           MOV EBP, [EBP-4]
;       92:       C20400           RET 4
;       95:       0F0B0A           BREAK 10                   ; error trap
;       98:       02               BYTE #X02
;       99:       18               BYTE #X18                  ; INVALID-ARG-COUNT-ERROR
;       9A:       4D               BYTE #X4D                  ; ECX
NIL

プログラミングの力を生み出す本を読んだので、アセンブラもちょっとは楽しくなってきた。

で、この本の後ろのほうの章(マルチスレッドとか)が気になっているんだけど、ちと高い。

プログラミングの力を生み出す本

アセンブラの本で、最近OS自作入門を読んでいるので非常に気になった。

ProductName プログラミングの力を生み出す本―インテルCPUのGNUユーザへ
橋本 洋志,松永 俊雄,冨永 和人,石井 千春
オーム社 / ¥ 2,625 ()


改訂版じゃなければ1円だった。

買いですよ奥さん!みたいなオーラが漂ってたので即買い。

来たらそのうち読む。

AS3でのイベントフロー

順調にprog_actionscript30.pdfを読み進めてきて、ただいま第三部のFlash Playerの仕組みのとこ。

で、イベントフローがいまいち掴めん。

と思って調べてみたら、イベントフローをわかりやすく説明してあるエントリみつけた。

要するにイベントを木構造で表現すんのか。なるほど。

概念上、イベントフローは 3 つの部分に分けられます。 第 1 の部分はキャプチャ段階と呼ばれ、ステージからターゲットノードの親までのノードすべてがこれに含まれます。 第 2 の部分はターゲット段階と呼ばれ、ターゲットノードだけがこれに含まれます。 第 3 の部分はバブリング段階と呼ばれ、ターゲットノードの親からステージまでの帰り道を構成するすべてのノードがこれに含まれます。

バブリング段階とかは、継承関係のコンストラクタみたいなイメージでいろいろやれそうなことがわかるんだけど、キャプチャ段階って実際のところどういう処理が入る可能性があるんだろうか。