pshikoro's blog

休日プログラミング

eflags

eflgasはflagレジスタ

CPUの割り込みフラグの制御などを担当する。

EFLAGS ‐ 通信用語の基礎知識

このレジスタのアドレスに直接書き込みなどはできないのでpushやpopfdなどの命令を仕様する。

_io_load_eflags:    ; int io_load_eflags(void);
    PUSHFD
    POP EAX
    RET

_io_store_eflags:    ; void io_store_eflags(int eflags);
    MOV EAX,[ESP+4]
    PUSH EAX
    POPFD
    RET

30日os本では、ビデオDAコンバータのパレット番号にRGB値を書き込む前後に割り込み処理の禁止→もとに戻す処理の際に初出。