マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

某イベント用にアセンブリ言語でプログラムを書く

某イベントのために作っている薄い本で扱うプログラムを書いている。x86を説明しきるのは俺には不可能であるため、かなり内容を省いている。そのため出力される機械語が簡単になるようにアセンブリ言語で工夫しなければならない。それで最初に作ったプログラムがこれ

    MOV AL, 0x01
    ADD AL, 0x02

fin:
    JMP fin

これをadd.asmと名前をつけて保存して

nasm add.asm -l add.list

で以下のリストを出力させる。これの左側の「B001」や「0402」を解説していく(というかJavaで実行する)。勿論ADDはフラグレジスタを更新するが、一部のフラグを解説し後はマニュアル読め状態になるだろう…

     1 00000000 B001                        MOV AL, 0x01
     2 00000002 0402                        ADD AL, 0x02
     3                                  
     4                                  fin:
     5 00000004 EBFE                        JMP fin