home *** CD-ROM | disk | FTP | other *** search
- /************************ ASM.H ************************/
-
- #define _CF (_FLAGS&1)
- #define _PF (_FLAGS&4)
- #define _AF (_FLAGS&16)
- #define _ZF (_FLAGS&64)
- #define _SF (_FLAGS&128)
- #define _TF (_FLAGS&256)
- #define _IF (_FLAGS&512)
- #define _DF (_FLAGS&1024)
- #define _OF (_FLAGS&2048)
-
-
- #define push_ax code_(0x50)
- #define push_cx code_(0x51)
- #define push_dx code_(0x52)
- #define push_bx code_(0x53)
-
- #define push_es code_(0x06)
- #define push_ss code_(0x16)
- #define push_cs code_(0x0e)
- #define push_ds code_(0x1e)
-
- #define push_sp code_(0x54)
- #define push_bp code_(0x55)
- #define push_si code_(0x56)
- #define push_di code_(0x57)
-
- #define pushf_ code_(0x9c)
- #define popf_ code_(0x9d)
-
- #define pop_ax code_(0x58)
- #define pop_cx code_(0x59)
- #define pop_dx code_(0x5a)
- #define pop_bx code_(0x5b)
-
- #define pop_es code_(0x07)
- #define pop_ss code_(0x17)
- #define pop_ds code_(0x1f)
-
- #define pop_sp code_(0x5c)
- #define pop_bp code_(0x5d)
- #define pop_si code_(0x5e)
- #define pop_di code_(0x5f)
-
-
- #define in_aldx code_(0xec)
- #define in_axdx code_(0xed)
- #define out_aldx code_(0xee)
- #define out_axdx code_(0xef)
-
-
- #define movsb_ code_(0xa4)
- #define movsw_ code_(0xa5)
- #define cmpsb_ code_(0xa6)
- #define cmpsw_ code_(0xa7)
- #define stosb_ code_(0xaa)
- #define stosw_ code_(0xab)
- #define lodsb_ code_(0xac)
- #define lodsw_ code_(0xad)
- #define scasb_ code_(0xae)
- #define scasw_ code_(0xef)
-
-
- #define repne_ code_(0xf2)
- #define repe_ code_(0xf3)
- #define cmc_ code_(0xf5)
- #define stc_ code_(0xf9)
- #define sti_ code_(0xfb)
- #define cli_ code_(0xfa)
- #define std_ code_(0xfd)
- #define cld_ code_(0xfc)
- #define clc_ code_(0xf8)
- #define sahf_ code_(0x9e)
- #define lahf_ code_(0x9f)
-
-
- #define not_ax code_(0xd0f7)
- #define not_cx code_(0xd1f7)
- #define not_dx code_(0xd2f7)
- #define not_bx code_(0xd3f7)
- #define not_sp code_(0xd4f7)
- #define not_bp code_(0xd5f7)
- #define not_si code_(0xd6f7)
- #define not_di code_(0xd7f7)
-
-
- #define neg_ax code_(0xd8f7)
- #define neg_cx code_(0xd9f7)
- #define neg_dx code_(0xdaf7)
- #define neg_bx code_(0xdbf7)
- #define neg_sp code_(0xdcf7)
- #define neg_bp code_(0xddf7)
- #define neg_si code_(0xdef7)
- #define neg_di code_(0xdff7)
-
-
- #define neg_sw(z) {code_(0x1ef7);code_(&z);}
- #define neg_sb(z) {code_(0x1ef6);code_(&z);}
- #define not_sw(z) {code_(0x16f7);code_(&z);}
- #define not_sb(z) {code_(0x16f6);code_(&z);}
- #define neg_aw(z) {code_(0x5ef7);code_(&z);}
- #define neg_ab(z) {code_(0x5ef6);code_(&z);}
- #define not_aw(z) {code_(0x56f7);code_(&z);}
- #define not_ab(z) {code_(0x56f6);code_(&z);}
-
- #define shl_sb1(z) {code_(0x26d0);code_(&z);}
- #define shl_ab1(z) {code_(0x66d0);code_(&z);}
- #define shr_sb1(z) {code_(0x2ed0);code_(&z);}
- #define shr_ab1(z) {code_(0x6ed0);code_(&z);}
- #define shl_al1 code_(0xe0d0)
- #define shr_al1 code_(0xe8d0)
-
- #define shl_ibbx1 code_(0x27d0)
- #define shl_iwbx1 code_(0x27d1)
- #define shr_ibbx1 code_(0x2fd0)
- #define shr_iwbx1 code_(0x2fd1)
-
- #define swap_(z) (_AX=(z),code_(0xc486),_AX)
-
-