Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

620 lines
18 KiB

  1. ;/* *************************************************************************
  2. ;** INTEL Corporation Proprietary Information
  3. ;**
  4. ;** This listing is supplied under the terms of a license
  5. ;** agreement with INTEL Corporation and may not be copied
  6. ;** nor disclosed except in accordance with the terms of
  7. ;** that agreement.
  8. ;**
  9. ;** Copyright (c) 1995 Intel Corporation.
  10. ;** All Rights Reserved.
  11. ;**
  12. ;** *************************************************************************
  13. ;*/
  14. ;////////////////////////////////////////////////////////////////////////////
  15. ;//
  16. ;// $Header: S:\h26x\src\common\clocals.inv 1.1 27 Dec 1995 14:12:04 RMCKENZX $
  17. ;// $Log: S:\h26x\src\common\clocals.inv $
  18. ;//
  19. ;// Rev 1.1 27 Dec 1995 14:12:04 RMCKENZX
  20. ;//
  21. ;// Added copyright notice
  22. ;//
  23. ;////////////////////////////////////////////////////////////////////////////
  24. include memmodel.inc
  25. IFDEF WIN32
  26. LDal macro address
  27. mov al,BYTE PTR address[esp]
  28. endm
  29. LDbl macro address
  30. mov bl,BYTE PTR address[esp]
  31. endm
  32. LDcl macro address
  33. mov cl,BYTE PTR address[esp]
  34. endm
  35. LDdl macro address
  36. mov dl,BYTE PTR address[esp]
  37. endm
  38. LDah macro address
  39. mov ah,BYTE PTR address[esp]
  40. endm
  41. LDbh macro address
  42. mov bh,BYTE PTR address[esp]
  43. endm
  44. LDch macro address
  45. mov ch,BYTE PTR address[esp]
  46. endm
  47. LDdh macro address
  48. mov dh,BYTE PTR address[esp]
  49. endm
  50. Leax macro address
  51. mov eax,DWORD PTR address[esp]
  52. endm
  53. Lebx macro address
  54. mov ebx,DWORD PTR address[esp]
  55. endm
  56. Lecx macro address
  57. mov ecx,DWORD PTR address[esp]
  58. endm
  59. Ledx macro address
  60. mov edx,DWORD PTR address[esp]
  61. endm
  62. Lesi macro address
  63. mov esi,DWORD PTR address[esp]
  64. endm
  65. Ledi macro address
  66. mov edi,DWORD PTR address[esp]
  67. endm
  68. Lebp macro address
  69. mov ebp,DWORD PTR address[esp]
  70. endm
  71. LZeax macro address
  72. movzx eax,BYTE PTR address[esp]
  73. endm
  74. LZebx macro address
  75. movzx ebx,BYTE PTR address[esp]
  76. endm
  77. LZecx macro address
  78. movzx ecx,BYTE PTR address[esp]
  79. endm
  80. LZedx macro address
  81. movzx edx,BYTE PTR address[esp]
  82. endm
  83. LZesi macro address
  84. movzx esi,BYTE PTR address[esp]
  85. endm
  86. LZedi macro address
  87. movzx edi,BYTE PTR address[esp]
  88. endm
  89. LZebp macro address
  90. movzx ebp,BYTE PTR address[esp]
  91. endm
  92. STal macro address
  93. mov BYTE PTR address[esp],al
  94. endm
  95. STbl macro address
  96. mov BYTE PTR address[esp],bl
  97. endm
  98. STcl macro address
  99. mov BYTE PTR address[esp],cl
  100. endm
  101. STdl macro address
  102. mov BYTE PTR address[esp],dl
  103. endm
  104. STah macro address
  105. mov BYTE PTR address[esp],ah
  106. endm
  107. STbh macro address
  108. mov BYTE PTR address[esp],bh
  109. endm
  110. STch macro address
  111. mov BYTE PTR address[esp],ch
  112. endm
  113. STdh macro address
  114. mov BYTE PTR address[esp],dh
  115. endm
  116. Seax macro address
  117. mov DWORD PTR address[esp],eax
  118. endm
  119. Sebx macro address
  120. mov DWORD PTR address[esp],ebx
  121. endm
  122. Secx macro address
  123. mov DWORD PTR address[esp],ecx
  124. endm
  125. Sedx macro address
  126. mov DWORD PTR address[esp],edx
  127. endm
  128. Sesi macro address
  129. mov DWORD PTR address[esp],esi
  130. endm
  131. Sedi macro address
  132. mov DWORD PTR address[esp],edi
  133. endm
  134. Sebp macro address
  135. mov DWORD PTR address[esp],ebp
  136. endm
  137. ADDeax macro address
  138. add eax,DWORD PTR address[esp]
  139. endm
  140. ADDebx macro address
  141. add ebx,DWORD PTR address[esp]
  142. endm
  143. ADDecx macro address
  144. add ecx,DWORD PTR address[esp]
  145. endm
  146. ADDedx macro address
  147. add edx,DWORD PTR address[esp]
  148. endm
  149. ADDesi macro address
  150. add esi,DWORD PTR address[esp]
  151. endm
  152. ADDedi macro address
  153. add edi,DWORD PTR address[esp]
  154. endm
  155. ADDebp macro address
  156. add ebp,DWORD PTR address[esp]
  157. endm
  158. SUBeax macro address
  159. sub eax,DWORD PTR address[esp]
  160. endm
  161. SUBebx macro address
  162. sub ebx,DWORD PTR address[esp]
  163. endm
  164. SUBecx macro address
  165. sub ecx,DWORD PTR address[esp]
  166. endm
  167. SUBedx macro address
  168. sub edx,DWORD PTR address[esp]
  169. endm
  170. SUBesi macro address
  171. sub esi,DWORD PTR address[esp]
  172. endm
  173. SUBedi macro address
  174. sub edi,DWORD PTR address[esp]
  175. endm
  176. SUBebp macro address
  177. sub ebp,DWORD PTR address[esp]
  178. endm
  179. CMPeax macro address
  180. cmp eax,DWORD PTR address[esp]
  181. endm
  182. CMPebx macro address
  183. cmp ebx,DWORD PTR address[esp]
  184. endm
  185. CMPecx macro address
  186. cmp ecx,DWORD PTR address[esp]
  187. endm
  188. CMPedx macro address
  189. cmp edx,DWORD PTR address[esp]
  190. endm
  191. CMPesi macro address
  192. cmp esi,DWORD PTR address[esp]
  193. endm
  194. CMPedi macro address
  195. cmp edi,DWORD PTR address[esp]
  196. endm
  197. CMPebp macro address
  198. cmp ebp,DWORD PTR address[esp]
  199. endm
  200. ADDC2M macro address,constant
  201. add DWORD PTR address[esp],constant
  202. endm
  203. ELSE
  204. LDal macro address
  205. DB 0A0H ; opcode: move memory to accumulator (al)
  206. DD address ; source
  207. endm
  208. LDbl macro address
  209. DB 08AH ; opcode: move memory to register
  210. DB 01DH ; destination: bl
  211. DD address ; source
  212. endm
  213. LDcl macro address
  214. DB 08AH ; opcode: move memory to register
  215. DB 00DH ; destination: cl
  216. DD address ; source
  217. endm
  218. LDdl macro address
  219. DB 08AH ; opcode: move memory to register
  220. DB 015H ; destination: dl
  221. DD address ; source
  222. endm
  223. LDah macro address
  224. DB 08AH ; opcode: move memory to register
  225. DB 025H ; destination: ah
  226. DD address ; source
  227. endm
  228. LDbh macro address
  229. DB 08AH ; opcode: move memory to register
  230. DB 03DH ; destination: bh
  231. DD address ; source
  232. endm
  233. LDch macro address
  234. DB 08AH ; opcode: move memory to register
  235. DB 02DH ; destination: ch
  236. DD address ; source
  237. endm
  238. LDdh macro address
  239. DB 08AH ; opcode: move memory to register
  240. DB 035H ; destination: dh
  241. DD address ; source
  242. endm
  243. Leax macro address
  244. DB 0A1H ; opcode: move memory to accumulator (eax)
  245. DD address ; source
  246. endm
  247. Lebx macro address
  248. DB 08BH ; opcode: move memory to register
  249. DB 01DH ; destination: ebx
  250. DD address ; source
  251. endm
  252. Lecx macro address
  253. DB 08BH ; opcode: move memory to register
  254. DB 00DH ; destination: ecx
  255. DD address ; source
  256. endm
  257. Ledx macro address
  258. DB 08BH ; opcode: move memory to register
  259. DB 015H ; destination: edx
  260. DD address ; source
  261. endm
  262. Lesi macro address
  263. DB 08BH ; opcode: move memory to register
  264. DB 035H ; destination: esi
  265. DD address ; source
  266. endm
  267. Ledi macro address
  268. DB 08BH ; opcode: move memory to register
  269. DB 03DH ; destination: edi
  270. DD address ; source
  271. endm
  272. Lebp macro address
  273. DB 08BH ; opcode: move memory to register
  274. DB 02DH ; destination: ebp
  275. DD address ; source
  276. endm
  277. LZeax macro address
  278. DB 00FH ; opcode prefix
  279. DB 0B6H ; opcode: move memory to register
  280. DB 005H ; destination: eax
  281. DD address ; source
  282. endm
  283. LZebx macro address
  284. DB 00FH ; opcode prefix
  285. DB 0B6H ; opcode: move memory to register
  286. DB 01DH ; destination: ebx
  287. DD address ; source
  288. endm
  289. LZecx macro address
  290. DB 00FH ; opcode prefix
  291. DB 0B6H ; opcode: move memory to register
  292. DB 00DH ; destination: ecx
  293. DD address ; source
  294. endm
  295. LZedx macro address
  296. DB 00FH ; opcode prefix
  297. DB 0B6H ; opcode: move memory to register
  298. DB 015H ; destination: edx
  299. DD address ; source
  300. endm
  301. LZesi macro address
  302. DB 00FH ; opcode prefix
  303. DB 0B6H ; opcode: move memory to register
  304. DB 035H ; destination: esi
  305. DD address ; source
  306. endm
  307. LZedi macro address
  308. DB 00FH ; opcode prefix
  309. DB 0B6H ; opcode: move memory to register
  310. DB 03DH ; destination: edi
  311. DD address ; source
  312. endm
  313. LZebp macro address
  314. DB 00FH ; opcode prefix
  315. DB 0B6H ; opcode: move memory to register
  316. DB 02DH ; destination: ebp
  317. DD address ; source
  318. endm
  319. STal macro address
  320. DB 0A2H ; opcode: move accumulator (al) to memory
  321. DD address ; destination
  322. endm
  323. STbl macro address
  324. DB 088H ; opcode: move register to memory
  325. DB 01DH ; source: bl
  326. DD address ; destination
  327. endm
  328. STcl macro address
  329. DB 088H ; opcode: move register to memory
  330. DB 00DH ; source: cl
  331. DD address ; destination
  332. endm
  333. STdl macro address
  334. DB 088H ; opcode: move register to memory
  335. DB 015H ; source: dl
  336. DD address ; destination
  337. endm
  338. STah macro address
  339. DB 088H ; opcode: move register to memory
  340. DB 025H ; source: ah
  341. DD address ; destination
  342. endm
  343. STbh macro address
  344. DB 088H ; opcode: move register to memory
  345. DB 03DH ; source: bh
  346. DD address ; destination
  347. endm
  348. STch macro address
  349. DB 088H ; opcode: move register to memory
  350. DB 02DH ; source: ch
  351. DD address ; destination
  352. endm
  353. STdh macro address
  354. DB 088H ; opcode: move register to memory
  355. DB 035H ; source: dh
  356. DD address ; destination
  357. endm
  358. Seax macro address
  359. DB 0A3H ; opcode: move accumulator (eax) to memory
  360. DD address ; destination
  361. endm
  362. Sebx macro address
  363. DB 089H ; opcode: move register to memory
  364. DB 01DH ; source: ebx
  365. DD address ; destination
  366. endm
  367. Secx macro address
  368. DB 089H ; opcode: move register to memory
  369. DB 00DH ; source: ecx
  370. DD address ; destination
  371. endm
  372. Sedx macro address
  373. DB 089H ; opcode: move register to memory
  374. DB 015H ; source: edx
  375. DD address ; destination
  376. endm
  377. Sesi macro address
  378. DB 089H ; opcode: move register to memory
  379. DB 035H ; source: esi
  380. DD address ; destination
  381. endm
  382. Sedi macro address
  383. DB 089H ; opcode: move register to memory
  384. DB 03DH ; source: edi
  385. DD address ; destination
  386. endm
  387. Sebp macro address
  388. DB 089H ; opcode: move register to memory
  389. DB 02DH ; source: ebp
  390. DD address ; destination
  391. endm
  392. ADDeax macro address
  393. DB 003H ; opcode: add memory to register
  394. DB 005H ; destination: eax
  395. DD address ; source
  396. endm
  397. ADDebx macro address
  398. DB 003H ; opcode: add memory to register
  399. DB 01DH ; destination: ebx
  400. DD address ; source
  401. endm
  402. ADDecx macro address
  403. DB 003H ; opcode: add memory to register
  404. DB 00DH ; destination: ecx
  405. DD address ; source
  406. endm
  407. ADDedx macro address
  408. DB 003H ; opcode: add memory to register
  409. DB 015H ; destination: edx
  410. DD address ; source
  411. endm
  412. ADDesi macro address
  413. DB 003H ; opcode: add memory to register
  414. DB 035H ; destination: esi
  415. DD address ; source
  416. endm
  417. ADDedi macro address
  418. DB 003H ; opcode: add memory to register
  419. DB 03DH ; destination: edi
  420. DD address ; source
  421. endm
  422. ADDebp macro address
  423. DB 003H ; opcode: add memory to register
  424. DB 02DH ; destination: ebp
  425. DD address ; source
  426. endm
  427. SUBeax macro address
  428. DB 02BH ; opcode: subtract memory from register
  429. DB 005H ; source: eax
  430. DD address ; destination
  431. endm
  432. SUBebx macro address
  433. DB 02BH ; opcode: subtract memory from register
  434. DB 01DH ; destination: ebx
  435. DD address ; source
  436. endm
  437. SUBecx macro address
  438. DB 02BH ; opcode: subtract memory from register
  439. DB 00DH ; destination: ecx
  440. DD address ; source
  441. endm
  442. SUBedx macro address
  443. DB 02BH ; opcode: subtract memory from register
  444. DB 015H ; destination: edx
  445. DD address ; source
  446. endm
  447. SUBesi macro address
  448. DB 02BH ; opcode: subtract memory from register
  449. DB 035H ; destination: esi
  450. DD address ; source
  451. endm
  452. SUBedi macro address
  453. DB 02BH ; opcode: subtract memory from register
  454. DB 03DH ; destination: edi
  455. DD address ; source
  456. endm
  457. SUBebp macro address
  458. DB 02BH ; opcode: subtract memory from register
  459. DB 02DH ; destination: ebp
  460. DD address ; source
  461. endm
  462. CMPeax macro address
  463. DB 03BH ; opcode: compare register with memory
  464. DB 005H ; source: eax
  465. DD address ; source
  466. endm
  467. CMPebx macro address
  468. DB 03BH ; opcode: compare register with memory
  469. DB 01DH ; source: ebx
  470. DD address ; source
  471. endm
  472. CMPecx macro address
  473. DB 03BH ; opcode: compare register with memory
  474. DB 00DH ; source: ecx
  475. DD address ; source
  476. endm
  477. CMPedx macro address
  478. DB 03BH ; opcode: compare register with memory
  479. DB 015H ; source: edx
  480. DD address ; source
  481. endm
  482. CMPesi macro address
  483. DB 03BH ; opcode: compare register with memory
  484. DB 035H ; source: esi
  485. DD address ; source
  486. endm
  487. CMPedi macro address
  488. DB 03BH ; opcode: compare register with memory
  489. DB 03DH ; source: edi
  490. DD address ; source
  491. endm
  492. CMPebp macro address
  493. DB 03BH ; opcode: compare register with memory
  494. DB 02DH ; source: ebp
  495. DD address ; source
  496. endm
  497. ADDC2M macro address,constant
  498. add ds:DWORD PTR address,constant
  499. endm
  500. ENDIF