Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. use16
  2. org 7C00h
  3. mov ax, 9ch
  4. mov ss, ax
  5. mov sp, 4096d
  6. mov ax, 7C0h
  7. mov ds, ax
  8. mov ah, 02h
  9. mov dx, 0000h
  10. int 10h
  11. ;----------------------------------------
  12. loadup:
  13.  
  14. mov ah, 00h
  15. mov dl, 00h
  16. int 13h
  17. jc reset_err
  18. mov ah, 00h
  19. mov al, 03h
  20. int 10h
  21. mov ah, 0Eh
  22. mov al, 'N'
  23. int 10h
  24. mov al, 'O'
  25. int 10h
  26. mov al, 'S'
  27. int 10h
  28. mov al, 20h
  29. int 10h
  30. mov al, '1'
  31. int 10h
  32. mov al, '.'
  33. int 10h
  34. mov al, '0'
  35. int 10h
  36. mov al, '.'
  37. int 10h
  38. mov al, '4'
  39. int 10h
  40. call print_enter
  41. kernel_load:
  42. mov ah, 02h
  43. mov al, 01h
  44. mov ch, 00h
  45. mov dh, 00h
  46. mov cl, 02h
  47. mov dl, 00h
  48. mov bx, 2000h
  49. mov es, bx
  50. mov bx, 0000h
  51. int 13h
  52. jc int13_err
  53. mov ch, [es:bx]
  54. inc bx
  55. mov dh, [es:bx]
  56. inc bx
  57. mov cl, [es:bx]
  58. inc bx
  59. mov al, [es:bx]
  60. cmp al, 0FFh
  61. je non_sys_disk
  62. mov ah, 02h
  63. mov dl, 00h
  64. mov bx, 1000h
  65. mov es, bx
  66. mov bx, 0000h
  67. int 13h
  68. jc int13_err
  69. jmp 1000h:0000h
  70. stop:
  71. cli
  72. hlt
  73. jmp stop
  74. non_sys_disk:
  75. mov ah, 0Eh
  76. mov al, 'F'
  77. int 10h
  78. mov al, 'S'
  79. int 10h
  80. mov al, 'B'
  81. int 10h
  82. mov al, 20h
  83. int 10h
  84. mov al, 'E'
  85. int 10h
  86. mov al, 'R'
  87. int 10h
  88. int 10h
  89. jmp stop
  90. int13_err:
  91. mov ah, 0Eh
  92. mov al, 'I'
  93. int 10h
  94. mov al, '1'
  95. int 10h
  96. mov al, '3'
  97. int 10h
  98. mov al, 20h
  99. int 10h
  100. mov al, 'E'
  101. int 10h
  102. mov al, 'R'
  103. int 10h
  104. int 10h
  105. jmp stop
  106. reset_err:
  107. mov ah, 0Eh
  108. mov al, 'R'
  109. int 10h
  110. mov al, 'S'
  111. int 10h
  112. mov al, 'T'
  113. int 10h
  114. mov al, 20h
  115. int 10h
  116. mov al, 'E'
  117. int 10h
  118. mov al, 'R'
  119. int 10h
  120. int 10h
  121. print_enter:
  122. mov ah, 03h
  123. int 10h
  124. mov ah, 02h
  125. inc dh
  126. mov dl, 00h
  127. int 10h
  128. ret
  129. times 510-($-$$) db 0
  130. dw 0xAA55
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement