home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / hackers / tools / dr_crack.arj / ASM.H next >
Encoding:
C/C++ Source or Header  |  1993-03-06  |  3.0 KB  |  121 lines

  1. /************************ ASM.H ************************/
  2.  
  3. #define _CF (_FLAGS&1)
  4. #define _PF (_FLAGS&4)
  5. #define _AF (_FLAGS&16)
  6. #define _ZF (_FLAGS&64)
  7. #define _SF (_FLAGS&128)
  8. #define _TF (_FLAGS&256)
  9. #define _IF (_FLAGS&512)
  10. #define _DF (_FLAGS&1024)
  11. #define _OF (_FLAGS&2048)
  12.  
  13.  
  14. #define push_ax    code_(0x50)
  15. #define push_cx    code_(0x51)
  16. #define push_dx    code_(0x52)
  17. #define push_bx    code_(0x53)
  18.  
  19. #define push_es    code_(0x06)
  20. #define push_ss    code_(0x16)
  21. #define push_cs    code_(0x0e)
  22. #define push_ds    code_(0x1e)
  23.  
  24. #define push_sp    code_(0x54)
  25. #define push_bp    code_(0x55)
  26. #define push_si    code_(0x56)
  27. #define push_di    code_(0x57)
  28.  
  29. #define pushf_  code_(0x9c)
  30. #define popf_   code_(0x9d)
  31.  
  32. #define pop_ax    code_(0x58)
  33. #define pop_cx    code_(0x59)
  34. #define pop_dx    code_(0x5a)
  35. #define pop_bx    code_(0x5b)
  36.  
  37. #define pop_es    code_(0x07)
  38. #define pop_ss    code_(0x17)
  39. #define pop_ds    code_(0x1f)
  40.  
  41. #define pop_sp    code_(0x5c)
  42. #define pop_bp    code_(0x5d)
  43. #define pop_si    code_(0x5e)
  44. #define pop_di    code_(0x5f)
  45.  
  46.  
  47. #define in_aldx code_(0xec)
  48. #define in_axdx code_(0xed)
  49. #define out_aldx code_(0xee)
  50. #define out_axdx code_(0xef)
  51.  
  52.  
  53. #define movsb_ code_(0xa4)
  54. #define movsw_ code_(0xa5)
  55. #define cmpsb_ code_(0xa6)
  56. #define cmpsw_ code_(0xa7)
  57. #define stosb_ code_(0xaa)
  58. #define stosw_ code_(0xab)
  59. #define lodsb_ code_(0xac)
  60. #define lodsw_ code_(0xad)
  61. #define scasb_ code_(0xae)
  62. #define scasw_ code_(0xef)
  63.  
  64.  
  65. #define repne_ code_(0xf2)
  66. #define repe_  code_(0xf3)
  67. #define cmc_   code_(0xf5)
  68. #define stc_   code_(0xf9)
  69. #define sti_   code_(0xfb)
  70. #define cli_   code_(0xfa)
  71. #define std_   code_(0xfd)
  72. #define cld_   code_(0xfc)
  73. #define clc_   code_(0xf8)
  74. #define sahf_  code_(0x9e)
  75. #define lahf_  code_(0x9f)
  76.  
  77.  
  78. #define not_ax code_(0xd0f7)
  79. #define not_cx code_(0xd1f7)
  80. #define not_dx code_(0xd2f7)
  81. #define not_bx code_(0xd3f7)
  82. #define not_sp code_(0xd4f7)
  83. #define not_bp code_(0xd5f7)
  84. #define not_si code_(0xd6f7)
  85. #define not_di code_(0xd7f7)
  86.  
  87.  
  88. #define neg_ax code_(0xd8f7)
  89. #define neg_cx code_(0xd9f7)
  90. #define neg_dx code_(0xdaf7)
  91. #define neg_bx code_(0xdbf7)
  92. #define neg_sp code_(0xdcf7)
  93. #define neg_bp code_(0xddf7)
  94. #define neg_si code_(0xdef7)
  95. #define neg_di code_(0xdff7)
  96.  
  97.  
  98. #define neg_sw(z) {code_(0x1ef7);code_(&z);}
  99. #define neg_sb(z) {code_(0x1ef6);code_(&z);}
  100. #define not_sw(z) {code_(0x16f7);code_(&z);}
  101. #define not_sb(z) {code_(0x16f6);code_(&z);}
  102. #define neg_aw(z) {code_(0x5ef7);code_(&z);}
  103. #define neg_ab(z) {code_(0x5ef6);code_(&z);}
  104. #define not_aw(z) {code_(0x56f7);code_(&z);}
  105. #define not_ab(z) {code_(0x56f6);code_(&z);}
  106.  
  107. #define shl_sb1(z) {code_(0x26d0);code_(&z);}
  108. #define shl_ab1(z) {code_(0x66d0);code_(&z);}
  109. #define shr_sb1(z) {code_(0x2ed0);code_(&z);}
  110. #define shr_ab1(z) {code_(0x6ed0);code_(&z);}
  111. #define shl_al1       code_(0xe0d0)
  112. #define shr_al1       code_(0xe8d0)
  113.  
  114. #define shl_ibbx1  code_(0x27d0)
  115. #define shl_iwbx1  code_(0x27d1)
  116. #define shr_ibbx1  code_(0x2fd0)
  117. #define shr_iwbx1  code_(0x2fd1)
  118.  
  119. #define swap_(z) (_AX=(z),code_(0xc486),_AX)
  120.  
  121.