rom.asm
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:10k
源码类别:

DVD

开发平台:

Others

  1. .MODEL large
  2. .CODE
  3. public F_SPUSH@
  4. public F_PSBP@
  5. public F_PINA@
  6. public F_PDEA@
  7. public F_PADD@
  8. public F_PSUB@
  9. public F_PADA@
  10. public F_PSBA@
  11. public F_LXURSH@
  12. public F_LXRSH@
  13. public F_LXLSH@
  14. public F_LDIV@
  15. public F_LUDIV@
  16. public F_LMOD@
  17. public F_LUMOD@
  18. public F_SCOPY@
  19. public F_PCMP@
  20. public F_LXMUL@
  21. public SPUSH@
  22. public PSBP@
  23. public PINA@
  24. public PDEA@
  25. public PADD@
  26. public PSUB@
  27. public PADA@
  28. public PSBA@
  29. public LXURSH@
  30. public LXRSH@
  31. public LXLSH@
  32. public LDIV@
  33. public LUDIV@
  34. public LMOD@
  35. public LUMOD@
  36. public SCOPY@
  37. public PCMP@
  38. public LXMUL@
  39. public _memchr
  40. public _memccpy
  41. public _strpbrk
  42. public _strrchr
  43. public _strspn
  44. public _strrev
  45. ;public __lower
  46. public _strnset
  47. ;public _labs
  48. ;public __upper
  49. ;public __ctype
  50. public _strset
  51. ;public _abs
  52. public _strncpy
  53. public _strncmp
  54. public _strlen
  55. public _strcpy
  56. public _strcmp
  57. public _strcat
  58. ;public __rotr
  59. ;public __rotl
  60. ;public _outport
  61. ;public _outportb
  62. ;public _outpw
  63. ;public _outp
  64. public _movmem
  65. public _memmove
  66. public _setmem
  67. public _memset
  68. public _memcpy
  69. public _memcmp
  70. ;public __lrotr
  71. ;public __lrotl
  72. ;public _ldiv
  73. ;public _inport
  74. ;public _inportb
  75. ;public _inpw
  76. ;public _inp
  77. ;public _div
  78. public _strstr
  79. ;public _ASCIIToHEX
  80. ;public _HEXToASCII
  81. ;public _HEXToASCII_C
  82. ;public _BitTable8
  83. ;public _BitTable16
  84. ;public _BitTable32
  85. ;public _BitTable32m
  86. ;public _MaskLUT
  87. ;public _MaskLUT8
  88. ;public _masklut1
  89. ;public _masklut2
  90. ;public _getvect
  91. ;public _setvect
  92. public _swab
  93. ;public __LONGTOA
  94. ;public __UTOA
  95. ;public _itoa
  96. ;public _ultoa
  97. ;public _ltoa
  98. ;public _atol
  99. ;public _atoi
  100. ;public _lsearch
  101. ;public _lfind
  102. ;public _bsearch
  103. ;public _Square_Root48
  104. ;public _gen_timer1
  105. ;public _gen_timer0
  106. ;public __disable
  107. ;public __enable
  108. ;public _set_SR
  109. ;public _change_stack
  110. ;public _add_queue
  111. ;public _delete_queue
  112. ;public _get_queue
  113. ;public _rotate_queue
  114. ;public _dispatch
  115. ;public _it_which
  116. ;public _next_ready
  117. ;public _rot_rdq
  118. ;public _ent_int
  119. ;public _ret_int
  120. ;public _interrupt_timer
  121. ;public _InterruptVectors
  122. ;public _CntHigh
  123. ;public _RTOSTimeInc
  124. ;public _sysstat
  125. ;public _intnest
  126. ;public _delaydispatch
  127. ;public _systmslc
  128. ;public _currentrun
  129. ;public _nextrun
  130. ;public _dispatch_counter
  131. ;public _readyqueue
  132. ;public _systim
  133. ;public _delyqueue
  134. SEGMENT _I49_ROMLIB_CODE 'I49_ROMLIB_CODE'
  135. F_SPUSH@ = _I49_ROMLIB_CODE:0146h
  136. F_PSBP@ = _I49_ROMLIB_CODE:016Ah
  137. F_PINA@ = _I49_ROMLIB_CODE:01BCh
  138. F_PDEA@ = _I49_ROMLIB_CODE:01EEh
  139. F_PADD@ = _I49_ROMLIB_CODE:0222h
  140. F_PSUB@ = _I49_ROMLIB_CODE:0256h
  141. F_PADA@ = _I49_ROMLIB_CODE:028Ch
  142. F_PSBA@ = _I49_ROMLIB_CODE:02D5h
  143. F_LXURSH@ = _I49_ROMLIB_CODE:031Eh
  144. F_LXRSH@ = _I49_ROMLIB_CODE:033Fh
  145. F_LXLSH@ = _I49_ROMLIB_CODE:035Fh
  146. F_LDIV@ = _I49_ROMLIB_CODE:0380h
  147. F_LUDIV@ = _I49_ROMLIB_CODE:0387h
  148. F_LMOD@ = _I49_ROMLIB_CODE:038Fh
  149. F_LUMOD@ = _I49_ROMLIB_CODE:0397h
  150. F_SCOPY@ = _I49_ROMLIB_CODE:042Bh
  151. F_PCMP@ = _I49_ROMLIB_CODE:0447h
  152. F_LXMUL@ = _I49_ROMLIB_CODE:0469h
  153. SPUSH@ = _I49_ROMLIB_CODE:0146h
  154. PSBP@ = _I49_ROMLIB_CODE:016Ah
  155. PINA@ = _I49_ROMLIB_CODE:01BCh
  156. PDEA@ = _I49_ROMLIB_CODE:01EEh
  157. PADD@ = _I49_ROMLIB_CODE:0222h
  158. PSUB@ = _I49_ROMLIB_CODE:0256h
  159. PADA@ = _I49_ROMLIB_CODE:028Ch
  160. PSBA@ = _I49_ROMLIB_CODE:02D5h
  161. LXURSH@ = _I49_ROMLIB_CODE:031Eh
  162. LXRSH@ = _I49_ROMLIB_CODE:033Fh
  163. LXLSH@ = _I49_ROMLIB_CODE:035Fh
  164. LDIV@ = _I49_ROMLIB_CODE:0380h
  165. LUDIV@ = _I49_ROMLIB_CODE:0387h
  166. LMOD@ = _I49_ROMLIB_CODE:038Fh
  167. LUMOD@ = _I49_ROMLIB_CODE:0397h
  168. SCOPY@ = _I49_ROMLIB_CODE:042Bh
  169. PCMP@ = _I49_ROMLIB_CODE:0447h
  170. LXMUL@ = _I49_ROMLIB_CODE:0469h
  171. PUSHIT = _I49_ROMLIB_CODE:014Ah
  172. _memchr = _I49_ROMLIB_CODE:0480h
  173. _memccpy = _I49_ROMLIB_CODE:04A5h
  174. _strpbrk = _I49_ROMLIB_CODE:04E0h
  175. _strrchr = _I49_ROMLIB_CODE:052Ah
  176. _strspn = _I49_ROMLIB_CODE:0574h
  177. _strrev = _I49_ROMLIB_CODE:05C4h
  178. ;__lower = _I49_ROMLIB_CODE:05FAh
  179. _strnset = _I49_ROMLIB_CODE:06FAh
  180. ;_labs = _I49_ROMLIB_CODE:0737h
  181. ;__upper = _I49_ROMLIB_CODE:0761h
  182. ;__ctype = _I49_ROMLIB_CODE:0861h
  183. _strset = _I49_ROMLIB_CODE:0962h
  184. ;_abs = _I49_ROMLIB_CODE:0990h
  185. _strncpy = _I49_ROMLIB_CODE:09A0h
  186. _strncmp = _I49_ROMLIB_CODE:09D3h
  187. _strlen = _I49_ROMLIB_CODE:0A0Dh
  188. _strcpy = _I49_ROMLIB_CODE:0A2Eh
  189. _strcmp = _I49_ROMLIB_CODE:0A59h
  190. _strcat = _I49_ROMLIB_CODE:0A8Bh
  191. ;__rotr = _I49_ROMLIB_CODE:0ACCh
  192. ;__rotl = _I49_ROMLIB_CODE:0ADBh
  193. ;_outport = _I49_ROMLIB_CODE:0AEAh
  194. ;_outportb = _I49_ROMLIB_CODE:0AF6h
  195. ;_outpw = _I49_ROMLIB_CODE:0B02h
  196. ;_outp = _I49_ROMLIB_CODE:0B10h
  197. _movmem = _I49_ROMLIB_CODE:0B20h
  198. _memmove = _I49_ROMLIB_CODE:0B72h
  199. _setmem = _I49_ROMLIB_CODE:0B95h
  200. _memset = _I49_ROMLIB_CODE:0BB9h
  201. _memcpy = _I49_ROMLIB_CODE:0BDAh
  202. _memcmp = _I49_ROMLIB_CODE:0C00h
  203. ;__lrotr = _I49_ROMLIB_CODE:0C2Ah
  204. ;__lrotl = _I49_ROMLIB_CODE:0C49h
  205. ;_ldiv = _I49_ROMLIB_CODE:0C67h
  206. ;_inport = _I49_ROMLIB_CODE:0CFDh
  207. ;_inportb = _I49_ROMLIB_CODE:0D08h
  208. ;_inpw = _I49_ROMLIB_CODE:0D15h
  209. ;_inp = _I49_ROMLIB_CODE:0D20h
  210. ;_div = _I49_ROMLIB_CODE:0D2Dh
  211. _strstr = _I49_ROMLIB_CODE:0D39h
  212. ;_ASCIIToHEX = _I49_ROMLIB_CODE:0DA7h
  213. ;_HEXToASCII = _I49_ROMLIB_CODE:0EA7h
  214. ;_HEXToASCII_C = _I49_ROMLIB_CODE:0EB7h
  215. ;_BitTable8 = _I49_ROMLIB_CODE:0EC7h
  216. ;_BitTable16 = _I49_ROMLIB_CODE:0ECFh
  217. ;_BitTable32 = _I49_ROMLIB_CODE:0EEFh
  218. ;_BitTable32m = _I49_ROMLIB_CODE:0F6Fh
  219. ;_MaskLUT = _I49_ROMLIB_CODE:0FEFh
  220. ;_MaskLUT8 = _I49_ROMLIB_CODE:102Fh
  221. ;_masklut1 = _I49_ROMLIB_CODE:1041h
  222. ;_masklut2 = _I49_ROMLIB_CODE:1061h
  223. ;_getvect = _I49_ROMLIB_CODE:1081h
  224. ;_setvect = _I49_ROMLIB_CODE:1092h
  225. _swab = _I49_ROMLIB_CODE:10A3h
  226. ;__LONGTOA = _I49_ROMLIB_CODE:10C4h
  227. ;__UTOA = _I49_ROMLIB_CODE:1144h
  228. ;_itoa = _I49_ROMLIB_CODE:1164h
  229. ;_ultoa = _I49_ROMLIB_CODE:1193h
  230. ;_ltoa = _I49_ROMLIB_CODE:11B0h
  231. ;_atol = _I49_ROMLIB_CODE:11DBh
  232. ;_atoi = _I49_ROMLIB_CODE:1252h
  233. ;_lsearch = _I49_ROMLIB_CODE:12D1h
  234. ;_lfind = _I49_ROMLIB_CODE:12F8h
  235. ;_bsearch = _I49_ROMLIB_CODE:131Fh
  236. ;_Square_Root48 = _I49_ROMLIB_CODE:13A0h
  237. ;_gen_timer1 = _I49_ROMLIB_CODE:1487h
  238. ;_gen_timer0 = _I49_ROMLIB_CODE:14B3h
  239. ;__disable = _I49_ROMLIB_CODE:14DFh
  240. ;__enable = _I49_ROMLIB_CODE:14E7h
  241. ;_set_SR = _I49_ROMLIB_CODE:14EFh
  242. ;_change_stack = _I49_ROMLIB_CODE:14F8h
  243. ;_add_queue = _I49_ROMLIB_CODE:1515h
  244. ;_delete_queue = _I49_ROMLIB_CODE:1565h
  245. ;_get_queue = _I49_ROMLIB_CODE:15BCh
  246. ;_rotate_queue = _I49_ROMLIB_CODE:15E7h
  247. ;_dispatch = _I49_ROMLIB_CODE:161Ch
  248. ;_it_which = _I49_ROMLIB_CODE:16E7h
  249. ;_next_ready = _I49_ROMLIB_CODE:1741h
  250. ;_rot_rdq = _I49_ROMLIB_CODE:1871h
  251. ;_ent_int = _I49_ROMLIB_CODE:18CCh
  252. ;_ret_int = _I49_ROMLIB_CODE:18EAh
  253. ;_interrupt_timer = _I49_ROMLIB_CODE:191Ah
  254. ;_InterruptVectors = _I49_ROMLIB_CODE:0000h
  255. ;_CntHigh = _I49_ROMLIB_CODE:0064h
  256. ;_RTOSTimeInc = _I49_ROMLIB_CODE:0068h
  257. ;_sysstat = _I49_ROMLIB_CODE:006Ah
  258. ;_intnest = _I49_ROMLIB_CODE:006Ch
  259. ;_delaydispatch = _I49_ROMLIB_CODE:006Eh
  260. ;_systmslc = _I49_ROMLIB_CODE:0070h
  261. ;_currentrun = _I49_ROMLIB_CODE:0072h
  262. ;_nextrun = _I49_ROMLIB_CODE:0076h
  263. ;_dispatch_counter = _I49_ROMLIB_CODE:007Ah
  264. ;_readyqueue = _I49_ROMLIB_CODE:007Ch
  265. ;_systim = _I49_ROMLIB_CODE:0094h
  266. ;_delyqueue = _I49_ROMLIB_CODE:0098h
  267. ENDS
  268. SEGMENT _TEXT PUBLIC 'CODE'
  269.         assume  cs:_TEXT
  270.         public  N_LDIV@
  271.         public  N_LMOD@
  272.         public  N_LUDIV@
  273.         public  N_LUMOD@
  274.         public  N_LXLSH@
  275. ;   public  N_LXMUL@
  276.         public  N_LXRSH@
  277.         public  N_LXURSH@
  278.         public  N_PADA@
  279.         public  N_PADD@
  280.   public  N_PCMP@
  281.         public  N_PDEA@
  282.         public  N_PINA@
  283.         public  N_PSBA@
  284. ;       public  N_PSBH@
  285.         public  N_PSBP@
  286.         public  N_PSUB@
  287. ;   public  N_SCOPY@
  288. ;       public  N_SPUSH@
  289. N_LDIV@:
  290.    pop     cx                      ;fix up far return
  291.    push    cs
  292.    push    cx
  293.   jmp far ptr _I49_ROMLIB_CODE:F_LDIV@
  294. N_LMOD@:
  295.    pop     cx                      ;fix up far return
  296.    push    cs
  297.    push    cx
  298.   jmp far ptr _I49_ROMLIB_CODE:F_LMOD@
  299. N_LUDIV@:
  300.    pop     cx                      ;fix up far return
  301.    push    cs
  302.    push    cx
  303.   jmp far ptr _I49_ROMLIB_CODE:F_LUDIV@
  304. N_LUMOD@:
  305.    pop     cx                      ;fix up far return
  306.    push    cs
  307.    push    cx
  308.   jmp far ptr _I49_ROMLIB_CODE:F_LUMOD@
  309. N_LXLSH@:
  310.    pop     bx                      ;fix up far return
  311.    push    cs
  312.    push    bx
  313.   jmp far ptr _I49_ROMLIB_CODE:F_LXLSH@
  314. ;N_LXMUL@:
  315. ;   pop     es                      ;fix up far return
  316. ;   push    cs
  317. ;   push    es
  318. ;  jmp far ptr _I49_ROMLIB_CODE:F_LXMUL@
  319. N_LXRSH@:
  320.    pop     bx                      ;fix up far return
  321.    push    cs
  322.    push    bx
  323.   jmp far ptr _I49_ROMLIB_CODE:F_LXRSH@
  324. N_LXURSH@:
  325.    pop     bx                      ;fix up far return
  326.    push    cs
  327.    push    bx
  328.   jmp far ptr _I49_ROMLIB_CODE:F_LXURSH@
  329. N_PADA@:
  330.    pop     es                      ;fix up far return
  331.    push    cs
  332.    push    es
  333.   jmp far ptr _I49_ROMLIB_CODE:F_PADA@
  334. N_PADD@:
  335.    pop     es                      ;fix up far return
  336.    push    cs
  337.    push    es
  338.   jmp far ptr _I49_ROMLIB_CODE:F_PADD@
  339. N_PCMP@: 
  340. pop     es                      ;fix up far return
  341.    push    cs
  342.    push    es
  343. jmp far ptr _I49_ROMLIB_CODE:F_PCMP@
  344. N_PDEA@:
  345.    pop     cx                      ;fix up far return
  346.    push    cs
  347.    push    cx
  348.   jmp far ptr _I49_ROMLIB_CODE:F_PDEA@
  349. N_PINA@:
  350.    pop     cx                      ;fix up far return
  351.    push    cs
  352.    push    cx
  353.   jmp far ptr _I49_ROMLIB_CODE:F_PINA@
  354. N_PSBA@:
  355.    pop     es                      ;fix up far return
  356.    push    cs
  357.    push    es
  358.   jmp far ptr _I49_ROMLIB_CODE:F_PSBA@
  359. ;N_PSBH@:
  360. ;   pop     bx                      ;fix up far return
  361. ;   push    cs
  362. ;   push    bx
  363. ;  jmp far ptr _I49_ROMLIB_CODE:F_PSBH@
  364. N_PSBP@:
  365.    pop     es                      ;fix up far return
  366.    push    cs
  367.    push    es
  368.   jmp far ptr _I49_ROMLIB_CODE:F_PSBP@
  369. N_PSUB@:
  370.    pop     es                      ;fix up far return
  371.    push    cs
  372.    push    es
  373.   jmp far ptr _I49_ROMLIB_CODE:F_PSUB@
  374. ;N_SCOPY@:
  375. ;   pop     es                      ;fix up far return
  376. ;   push    cs
  377. ;   push    es
  378. ; jmp far ptr _I49_ROMLIB_CODE:F_SCOPY@
  379. ;N_SPUSH@:
  380. ;   pop     bx              ;fetch return address off stack
  381. ;   sub     sp,cx           ;make room on stack for struct
  382. ;   push    cs              ;save return address back on stack
  383. ;  jmp far ptr _I49_ROMLIB_CODE:PUSHIT
  384. ENDS
  385. END