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