レジスタのダンプ

無性にOS作りたくなってきたので、ちょっとボクノスいじり。

(一応、OS自作ブログだし・・・)

とりあえす、レジスタのダンプを作ることにしました。これが無いとデバッグ出来ないので。

まずはaxのダンプ。

print_hex:
        pusha
        mov $4,%cx
        mov %ax,%dx

1:      cmp $0,%cx
        je  3f

        rol $4,%dx
        mov %dx,%ax
        and $0x0f,%al # mask

        cmp $9,%al
        jbe 2f
        add $7,%al
2:      add $'0',%al

        call put
        dec  %cx
        jmp  1b
3:      popa
        ret

ふぅ。%axの値が表示出来るようになった。

ビット回転rolがポイント。高級言語には何故か無い。

コードはイマイチだけど、まずは第一関門突破!!

しばらくブートで遊ぶことにします。