無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

バイナリをつつく4−電波ソムリエ0

おっはピョー。今日も元気にCPUオブジェクトの作成を行いマース。
前回はマシンコードの令名フォーマットの概要だけみたから、今回はもっと深く掘り下げていくよ。みんな一緒に0と1の海を泳ごう!夏だ海だバイナリだ!
Intelの命令フォーマットはかなり難しい、こういう場合は一番簡単な命令を探すのがいい。
誰だっていきなり難しいところ勉強するの嫌だよね。
えっと、サーチ中、サーチ中、サーチ中、サチ中、誰それ?、サーチ中・・・
サーチ終了!一番簡単な命令発見したピヨ。それでは簡単コンクール一位を発表します。

HLT(Halt Processor:プロセッサ停止)
「オペコード1つしかないってすごく短いでピヨね。HALさん一位になった感想を訊かせてください。」
HLT「zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz」
「あれ?寝ちゃってるよ。」

この命令は動作がすごく単純。ただCPUが停止するだけなんだ。レジスタも要らない。だけどOS作りには欠かせない重要な命令ピヨ。
じゃあ早速、毎度おなじみIA-32 インテル® アーキテクチャー・ソフトウェア・デベロッパーズ・マニュアル、中巻 A: 命令セット・リファレンスを見よう。
バサバサバサ、あったぞ!マニュアル820ページに1 バイトのオペコード・マップがあった。
この表の見方は4ビットずつ左右に分けて、左の4ビットは行、右の4ビットは列ということらしい。これは便利!0回目で文句言ってごめんね。
ピピピ、HLT君発見オペコードF4だって。すごくリゾーナブル。偉い偉い。
次はもう少し難しい命令を見る予定なんだけど、長くなりそうなんで一端ここで記事を終わるよ。じゃあまったねー。
とぅー。ピュー、ガン、ボテ。
別窓 | バイナリ | コメント:0 | トラックバック:0 | ∧top | under∨
<<バイナリをつつく5−もっとレジスタ | 無差別に技術をついばむ鳥 | バイナリをつつく3ー電波を理解する>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |