by shigemk2

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

2014-12-07から1日間の記事一覧

今日やったこと #ikebin

今日やったこと 8086の逆アセンブラのHaskell実装。 mul命令までやる。順番にごにょごにょしていって、最後にリファクタするのがよろしいかと。 あとは物量の問題ですかね。とりあえずbcなしでも1バイトの2進数が計算できるようにはなってきている気はしてい…

8086 メモ lesとかportとか

les les ax,[bx+si] ! 4バイトぶん読み込んでesとaxに入れる port 周辺機器(キーボード マウス)専用のアドレス(in out命令で使われるやつ) fixed port 0x1234とかアドレスの場所を指定しているから固定 variable port dxのアドレスは場合によって変わる I/O…

8086のlea命令について

leaはカッコを外して(無視して)計算する仕様 lea ax, [bx] ! ax = bx lea ax,[bx+5] ! ax = bx + 5 ! ここはありえない lea ax, ax

8086逆アセンブラ実装の壁 その1

pop cs pop csは8086/8088でしか動かなくって、たとえばndisasmで逆アセンブルすると結果はpop csにならない。ということが英語のWikipediaに書いてありました。 POP CS (opcode 0x0F) works only on 8086/8088. http://t.co/QXdtDk3cAw— 炭鉱ハッカー しげ…

シェルスクリプトで1000回コミット

Git

シェルスクリプトで指定回数実行 とある現場の組込みエンジニア シェルスクリプトで指定回数実行 とある現場の組込みエンジニア これの応用です。機械的にファイルを作成したり消したりしてコミットしているだけなので、実用性は全くありません。 #!/bin/sh …

昨日やったこと #ikebin

8086の逆アセンブラ実装の続き。 aaa命令までやる。 add命令のImmediate to Register/Memoryがよくわからなかった。いつもどおりndisasmの仕様かと思ったら、最初の1バイトの82が欠番になっていたりで場合分けがしんどかった。 そこそこ実装が進んでいて、最…