home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / INC / MI.INC < prev    next >
Text File  |  1995-12-04  |  8KB  |  357 lines

  1. F_ID    EQU    00200000H       
  2. F_VIP    EQU    00100000H       
  3. F_VIF    EQU    00080000H       
  4. F_AC    EQU    00040000H       
  5. F_VM    EQU    00020000H       
  6. F_RF    EQU    00010000H       
  7. F_NT    EQU    00004000H       
  8. F_NTCLEAR    EQU    ( NOT F_NT)
  9. F_IOPL0    EQU    0 
  10. F_IOPL1    EQU    00001000H 
  11. F_IOPL2    EQU    00002000H 
  12. F_IOPL3    EQU    00003000H 
  13. F_IOPLMASK    EQU    00003000H       
  14. F_IOPLSYS    EQU    F_IOPL3         
  15. F_IOPLclear    EQU    ( NOT F_IOPLMASK)
  16. F_OVERFLOW    EQU    00000800H 
  17. F_DIRECTION    EQU    00000400H 
  18. F_INTERRUPT    EQU    00000200H 
  19. F_TRACE    EQU    00000100H 
  20. F_SIGN    EQU    00000080H 
  21. F_ZERO    EQU    00000040H 
  22. F_AUX    EQU    00000010H 
  23. F_PARITY    EQU    00000004H 
  24. F_CARRY    EQU    00000001H 
  25. F_UNDEFINED    EQU    0000802AH 
  26. CR0_PE    EQU    00000001H       
  27. CR0_MP    EQU    00000002H       
  28. CR0_EM    EQU    00000004H       
  29. CR0_TS    EQU    00000008H       
  30. CR0_ET    EQU    00000010H       
  31. CR0_NE    EQU    00000020H       
  32. CR0_WP    EQU    00010000H       
  33. CR0_AM    EQU    00040000H       
  34. CR0_NW    EQU    20000000H       
  35. CR0_CD    EQU    40000000H       
  36. CR0_PG    EQU    80000000H       
  37. CR0_RESERVED    EQU    1ffaffc0H       
  38. MSW_PE    EQU    CR0_PE
  39. MSW_MP    EQU    CR0_MP
  40. MSW_EM    EQU    CR0_EM
  41. MSW_TS    EQU    CR0_TS
  42. MSW_ET    EQU    CR0_ET
  43. CR3_WRITETHROUGH    EQU    00000008H      
  44. CR3_CACHEDISABLE    EQU    00000010H      
  45. CR3_FRAME    EQU    0fffff000H      
  46. CR3_RESERVED    EQU    00000fe7H      
  47. CR4_VME    EQU    00000001H 
  48. CR4_PVI    EQU    00000002H 
  49. DR_COUNT    EQU    4H              
  50. DR6_B0    EQU    00000001H       
  51. DR6_B1    EQU    00000002H       
  52. DR6_B2    EQU    00000004H       
  53. DR6_B3    EQU    00000008H       
  54. DR6_BD    EQU    00002000H       
  55. DR6_BS_BIT_INDEX    EQU    0eH       
  56. DR6_BS    EQU    (1   SHL  DR6_BS_BIT_INDEX)
  57. DR6_BT    EQU    00008000H       
  58. DR6_VALID    EQU    (DR6_B0 OR DR6_B1 OR DR6_B2 OR DR6_B3 OR DR6_BD OR DR6_BS OR DR6_BT)
  59. DR6_RESERVED    EQU     NOT (DR6_VALID)
  60. DR7_L0    EQU    00000001H       
  61. DR7_G0    EQU    00000002H       
  62. DR7_L1    EQU    00000004H       
  63. DR7_G1    EQU    00000008H       
  64. DR7_L2    EQU    00000010H       
  65. DR7_G2    EQU    00000020H       
  66. DR7_L3    EQU    00000040H       
  67. DR7_G3    EQU    00000080H       
  68. DR7_LE    EQU    00000100H       
  69. DR7_GE    EQU    00000200H       
  70. DR7_RW0    EQU    00030000H       
  71. DR7_LEN0    EQU    000c0000H       
  72. DR7_RW1    EQU    00300000H       
  73. DR7_LEN1    EQU    00c00000H       
  74. DR7_RW2    EQU    03000000H       
  75. DR7_LEN2    EQU    0c000000H       
  76. DR7_RW3    EQU    30000000H       
  77. DR7_LEN3    EQU    0c0000000H       
  78. DR7_RESERVED    EQU    0000fc00H       
  79. DR7_EXECUTE    EQU    0H              
  80. DR7_WRITE    EQU    1H              
  81. DR7_READWRITE    EQU    3H              
  82. DR7_LEN_1    EQU    0H              
  83. DR7_LEN_2    EQU    1H              
  84. DR7_LEN_4    EQU    3H              
  85. MI_ARPL    EQU    63H             
  86. MI_HLT    EQU    0f4H             
  87. MI_OPERANDSIZE    EQU    66H             
  88. MI_ADDRESSSIZE    EQU    67H             
  89. MI_TWOBYTEOP    EQU    0fH             
  90. MI_POP_DS    EQU    1fH 
  91. MI_POP_ES    EQU    07H 
  92. MI_POP_FS    EQU    0A1H             
  93. MI_POP_GS    EQU    0A9H             
  94. MI_INT3    EQU    0CCH 
  95. MI_INT    EQU    0CDH 
  96. MI_IRET    EQU    0CFH 
  97. MI_LONG_JMP    EQU    0EAH 
  98. MI_LONG_CALL    EQU    9AH 
  99. MI_LONG_RET    EQU    0CBH 
  100. MI_LONG_RETn    EQU    0CAH 
  101. MI_NEAR_RET    EQU    0C3H 
  102. MI_IN_PORT_AL    EQU    0E4H             
  103. MI_IN_PORT_AX    EQU    0E5H             
  104. MI_OUT_PORT_AL    EQU    0E6H             
  105. MI_OUT_PORT_AX    EQU    0E7H             
  106. MI_IN_DX_AL    EQU    0ECH             
  107. MI_IN_DX_AX    EQU    0EDH             
  108. MI_OUT_DX_AL    EQU    0EEH             
  109. MI_OUT_DX_AX    EQU    0EFH             
  110. MI_GROUP5    EQU    0FFH             
  111. MI_SEGES    EQU    26H             
  112. MI_SEGCS    EQU    2EH             
  113. MI_SEGSS    EQU    36H             
  114. MI_SEGDS    EQU    3EH             
  115. MI_SEGFS    EQU    64H             
  116. MI_SEGGS    EQU    65H             
  117. MI_ESCMASK    EQU    0F8H 
  118. MI_ESC    EQU    0D8H 
  119. MI_MODMASK    EQU    0C0H             
  120. MI_MODSHIFT    EQU    6                
  121. MI_MODNONE    EQU    00H             
  122. MI_MODBYTE    EQU    40H             
  123. MI_MODWORD    EQU    80H             
  124. MI_MODREG    EQU    0C0H             
  125. MI_REGMASK    EQU    38H             
  126. MI_REGSHIFT    EQU    3                
  127. MI_REGAX    EQU    00H             
  128. MI_REGCX    EQU    08H             
  129. MI_REGDX    EQU    10H             
  130. MI_REGBX    EQU    18H             
  131. MI_REG3    EQU    18H             
  132. MI_REGSP    EQU    20H             
  133. MI_REGBP    EQU    28H             
  134. MI_REGSI    EQU    30H             
  135. MI_REGDI    EQU    38H             
  136. MI_REGES    EQU    00H             
  137. MI_REGCS    EQU    08H             
  138. MI_REGSS    EQU    10H             
  139. MI_REGDS    EQU    18H             
  140. MI_REGFS    EQU    20H             
  141. MI_REGGS    EQU    28H             
  142. MI_RMMASK    EQU    07H             
  143. MI_RMSHIFT    EQU    0                
  144. MI_RMBXSI    EQU    00H             
  145. MI_RMBXDI    EQU    01H             
  146. MI_RMBPSI    EQU    02H             
  147. MI_RMBPDI    EQU    03H             
  148. MI_RMSI    EQU    04H             
  149. MI_RMDI    EQU    05H             
  150. MI_RMBP    EQU    06H             
  151. MI_RMBX    EQU    07H             
  152. MI_SIB_SSMASK    EQU    0c0H 
  153. MI_SIB_SSSHIFT    EQU    06H 
  154. MI_SIB_INDEXMASK    EQU    38H 
  155. MI_SIB_INDEXSHIFT    EQU    03H 
  156. MI_SIB_INDEXNONE    EQU    20H 
  157. MI_SIB_BASEMASK    EQU    07H 
  158. MI_SIB_BASESHIFT    EQU    00H 
  159. MI_SIB_BASEESP    EQU    04H 
  160. MI_SIB_BASENONE    EQU    05H 
  161. MI_RMEDX    EQU    02H 
  162. MI_RMSIB    EQU    04H 
  163. MI_RMDISP    EQU    05H 
  164. MI_RMEBP    EQU    05H 
  165. MI_REG6    EQU    30H 
  166. MI_REGCR0    EQU    00H 
  167. MI_PUSH_AX    EQU    50H     
  168. MI_PUSH_IMM    EQU    68H     
  169. MI_MOV_REG_IMM    EQU    0B8H     
  170. MI_MOV_REG_IMMEDIATE    EQU    0B8H     
  171. MI_MOV_REG_REGMEM    EQU    8BH     
  172. MI_ADD_AX_IMM    EQU    05H     
  173. MI_CALL_NEAR_REL    EQU    0E8H     
  174. SIZE_CALL_NEAR_REL    EQU    5        
  175. MI_LMSW_OPCODE    EQU    01H     
  176. MI_GET_CRx_OPCODE    EQU    20H     
  177. MI_GET_DRx_OPCODE    EQU    21H     
  178. MI_SET_CRx_OPCODE    EQU    22H     
  179. MI_SET_DRx_OPCODE    EQU    23H     
  180. MI_GET_TRx_OPCODE    EQU    24H     
  181. MI_SET_TRx_OPCODE    EQU    26H     
  182. MI_MOV_REG8_MEM8    EQU    8AH     
  183. MI_MOV_SEG_MEM_OPCODE    EQU    8eH     
  184.  
  185. w_s    STRUC
  186. lobyte    DB    ?
  187. hibyte    DB    ?
  188. w_s    ENDS
  189.  
  190. LowByte    EQU    lobyte
  191. HighByte    EQU    hibyte
  192.  
  193. dw_s    STRUC
  194. loword    DW    ?
  195. hiword    DW    ?
  196. dw_s    ENDS
  197.  
  198. LowWord    EQU    loword
  199. HighWord    EQU    hiword
  200.  
  201. FarPtr    STRUC
  202. Offst    DW    ?
  203. Segmt    DW    ?
  204. FarPtr    ENDS
  205.  
  206.  
  207. FarPtr32    STRUC
  208. Offst32    DD    ?
  209. Segmt32    DW    ?
  210. Pad32    DW    ?
  211. FarPtr32    ENDS
  212.  
  213.  
  214. retf16_s    STRUC
  215. retf16_ip    DW    ?
  216. retf16_cs    DW    ?
  217. retf16_s    ENDS
  218.  
  219.  
  220. retf32_s    STRUC
  221. retf32_eip    DD    ?
  222. retf32_cs    DW    ?
  223. retf32_padcs    DW    ?
  224. retf32_s    ENDS
  225.  
  226.  
  227. iret16_s    STRUC
  228. iret16_ip    DW    ?
  229. iret16_cs    DW    ?
  230. iret16_flag    DW    ?
  231. iret16_s    ENDS
  232.  
  233.  
  234. Iret_s    STRUC
  235. I_CSIP    DB    SIZE FarPtr DUP (?)
  236. I_FLAGS    DW    ?
  237. Iret_s    ENDS
  238.  
  239.  
  240. IretFrame    STRUC
  241. IretIP    DW    ?
  242. IretCS    DW    ?
  243. IretFLAGS    DW    ?
  244. IretFrame    ENDS
  245.  
  246. IretCSIP EQU     <DWORD PTR IretIP>   
  247.  
  248. iret32_s    STRUC
  249. iret32_eip    DD    ?
  250. iret32_cs    DW    ?
  251. iret32_padcs    DW    ?
  252. iret32_eflag    DD    ?
  253. iret32_s    ENDS
  254.  
  255.  
  256. Iret32_s    STRUC
  257. I32_CSEIP    DB    SIZE FarPtr32 DUP (?)
  258. I32_EFLAGS    DD    ?
  259. Iret32_s    ENDS
  260.  
  261. I32_CS          EQU     <I32_CSEIP.Segmt32>
  262. I32_EIP         EQU     <I32_CSEIP.Offst32>
  263. I32_IP          EQU     <I32_CSEIP.Offst32.loword>
  264. I32_FLAGS       EQU     <I32_EFLAGS.loword>
  265.  
  266.  
  267. pltiret16_s    STRUC
  268. pltiret16_ip    DW    ?
  269. pltiret16_cs    DW    ?
  270. pltiret16_flag    DW    ?
  271. pltiret16_sp    DW    ?
  272. pltiret16_ss    DW    ?
  273. pltiret16_s    ENDS
  274.  
  275.  
  276. PLTIret_s    STRUC
  277. PI_CSIP    DB    SIZE FarPtr DUP (?)
  278. PI_FLAGS    DW    ?
  279. PI_SSSP    DB    SIZE FarPtr DUP (?)
  280. PLTIret_s    ENDS
  281.  
  282.  
  283. PLTIretFrame    STRUC
  284. PLTIretIP    DW    ?
  285. PLTIretCS    DW    ?
  286. PLTIretFLAGS    DW    ?
  287. PLTIretSP    DW    ?
  288. PLTIretSS    DW    ?
  289. PLTIretFrame    ENDS
  290.  
  291. PLTIretCSIP     EQU     DWORD PTR PLTIretIP
  292. PLTIretSSSP     EQU     DWORD PTR PLTIretSP
  293.  
  294.  
  295. pltiret32_s    STRUC
  296. pltiret32_eip    DD    ?
  297. pltiret32_cs    DW    ?
  298. pltiret32_padcs    DW    ?
  299. pltiret32_eflag    DD    ?
  300. pltiret32_esp    DD    ?
  301. pltiret32_ss    DW    ?
  302. pltiret32_padss    DW    ?
  303. pltiret32_s    ENDS
  304.  
  305.  
  306. PLTIret32_s    STRUC
  307. PI32_CSEIP    DB    SIZE FarPtr32 DUP (?)
  308. PI32_EFLAGS    DD    ?
  309. PI32_SSESP    DB    SIZE FarPtr32 DUP (?)
  310. PLTIret32_s    ENDS
  311.  
  312. PI32_CS         EQU     <PI32_CSEIP.Segmt32>
  313. PI32_EIP        EQU     <PI32_CSEIP.Offst32>
  314. PI32_SS         EQU     <PI32_SSESP.Segmt32>
  315. PI32_ESP        EQU     <PI32_SSESP.Offst32>
  316. PI32_FLAGS      EQU     <WORD PTR PI32_EFLAGS>
  317.  
  318. ptr_t   STRUC
  319.         ptr_flat        DD      ?
  320. ptr_t   ENDS
  321. ptr_off         equ     <ptr_flat.Offst>
  322. ptr_sel         equ     <ptr_flat.Segmt>
  323.  
  324.  
  325. pusha_s    STRUC
  326. pas_di    DW    ?
  327. pas_si    DW    ?
  328. pas_bp    DW    ?
  329. pas_sp    DW    ?
  330. pas_bx    DW    ?
  331. pas_dx    DW    ?
  332. pas_cx    DW    ?
  333. pas_ax    DW    ?
  334. pusha_s    ENDS
  335.  
  336.  
  337. pushad_s    STRUC
  338. pads_edi    DD    ?
  339. pads_esi    DD    ?
  340. pads_ebp    DD    ?
  341. pads_esp    DD    ?
  342. pads_ebx    DD    ?
  343. pads_edx    DD    ?
  344. pads_ecx    DD    ?
  345. pads_eax    DD    ?
  346. pushad_s    ENDS
  347.  
  348. pads_di EQU     <WORD PTR pads_edi>
  349. pads_si EQU     <WORD PTR pads_esi>
  350. pads_bp EQU     <WORD PTR pads_ebp>
  351. pads_sp EQU     <WORD PTR pads_esp>
  352. pads_bx EQU     <WORD PTR pads_ebx>
  353. pads_dx EQU     <WORD PTR pads_edx>
  354. pads_cx EQU     <WORD PTR pads_ecx>
  355. pads_ax EQU     <WORD PTR pads_eax>
  356.  
  357.