by shigemk2

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

一旦の区切り #ikebin

一部逆アセンブル結果がおかしいところがあったので(即値が0x100ぶんだけずれてる)、こんな感じで新しく関数を作ってみた。

dispimm xs x
    | xs < 0x80 || x < 0x100   = "0x" ++ hex x
    | xs > 0x80 && x < 0x1000  = "0x" ++ hex ((x + 0xf00) .&. 0xfff)
    | xs > 0x80 && x < 0x10000 = "0x" ++ hex ((x + 0xff00) .&. 0xffff)

あとは、一部即値の符号計算対応など。

DisAsm201412210316.hs