15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NT | IOPL | OF | DF | IF | TF | SF | ZF | AF | PF | CF | |||||
未 使 用 |
嵌 套 标 志 |
I/O 权限 标志 占2位 |
溢 出 标 志 |
方 向 标 志 |
中 断 允 许 标 志 |
单 步 标 志 |
符 号 标 志 |
零 标 志 |
未 使 用 |
辅 助 标 志 |
未 使 用 |
奇 偶 标 志 |
未 使 用 |
进 位 标 志 |
; Test20_1.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .data szBin1 db 8 dup(?), 0 szBin2 db 8 dup(?), 0 szBin3 db 8 dup(?), 0 szBin4 db 8 dup(?), 0 .code main proc stc ;置位 CF, CF = 1 lahf invoke byt2bin_ex, ah, addr szBin1 clc ;复位 CF, CF = 0 lahf invoke byt2bin_ex, ah, addr szBin2 stc cmc ;取反 CF, CF = not CF lahf invoke byt2bin_ex, ah, addr szBin3 clc cmc ;取反 CF, CF = not CF lahf invoke byt2bin_ex, ah, addr szBin4 PrintString szBin1 ;xxxxxxx1 PrintString szBin2 ;xxxxxxx0 PrintString szBin3 ;xxxxxxx0 PrintString szBin4 ;xxxxxxx1 ret main endp end main
; Test20_2.asm .586p .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .data szBin db 32 dup(?), 0 .code main proc stc pushfd invoke dw2bin_ex, dword ptr [esp+4], addr szBin popfd PrintString szBin ;00000000000000000000001001000111 clc pushfd invoke dw2bin_ex, dword ptr [esp+4], addr szBin popfd PrintString szBin ;00000000000000000000001010000110 ret main endp end main