WriteCyl.asm 825 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. .model small
  2. .code
  3. org 100h
  4. start:
  5. mov ax, 3d00h
  6. lea dx, _fname
  7. mov cx, 0
  8. int 21h
  9. jc error
  10. mov bx, ax
  11. mov ah, 3fh
  12. mov cx, 200h
  13. lea dx, _buf
  14. int 21h
  15. mov ah, 3eh
  16. int 21h
  17. ; lea di, _buf
  18. ; add di, 1ceh
  19. ; mov ax, 0
  20. ; mov cx, 8
  21. ; repe stosw
  22. mov ah, 03h ; Func
  23. mov al, 1 ; Count
  24. mov cx, 01h ; CylSec
  25. mov dh, 0h ; Head
  26. mov dl, 81h ; Drive
  27. push ds
  28. pop es
  29. mov bx, offset _buf
  30. int 13h
  31. jc error
  32. jmp exit
  33. error:
  34. mov dl, ah
  35. add dl, 30h
  36. mov ah, 2
  37. int 21h
  38. mov ah, 9
  39. lea dx, _err
  40. int 21h
  41. mov ah, 00
  42. int 13h
  43. exit:
  44. mov ah, 4ch
  45. int 21h
  46. _err db ' Fuck, some error',10,13,'$'
  47. _fname db 'dump1.dat',0
  48. _buf db 1024 dup (0)
  49. end start