6byte 左にシフトする謎
ええと、FETCH_INST と GOTO_NEXT なマクロを一気に展開しちゃうと以下なカンジ。
movzwl (rPC),rINST_FULL movzx rOPCODE,%eax sall $6,%eax addl rIBASE,%eax jmp *%eax
ヤッてる事としては、
- rPC が指してるアドレスに格納されてるソレを rINST_FULL にコピィ
- rINST_FULL の先端 1 byteを eax にコピィ
- eax の中身を 6bit シフト
- eax + rIBASE して eax に代入
- eax なアドレスの jmp
という理解で良いのかどうか。
で
6bit シフトさせて rIBASE と加算、のソレが理解できてません。色々見てるのですが、なかなかとっかかりにさばれておりません。うーん。。
とりあえず
今から那覇のキックオフが始まるので一旦エントリ投入します。