ReadCyl2.asm 922 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. .model small
  2. .code
  3. org 100h
  4. COUNT = 1
  5. start:
  6. mov al, 0 ; Device Num (0-A, 1-B, ..)
  7. lea bx, _ioRec ; Params
  8. mov cx, 0ffffh ; Using additional params
  9. mov word ptr [bx], 1 ; SectNum (LOW)
  10. mov word ptr [bx+2], 0 ; SectNum (HI)
  11. mov word ptr [bx+4], COUNT ; SectCount
  12. mov word ptr [bx+6], offset _buf ; ReciveBuf offs
  13. mov word ptr [bx+8], cs ; ReciveBuf seg
  14. INT 25H
  15. pop dx
  16. jc error
  17. mov ah, 3ch
  18. lea dx, _fname
  19. mov cx, 0
  20. int 21h
  21. mov bx, ax
  22. mov ah, 40h
  23. mov cx, 200h*COUNT
  24. lea dx, _buf
  25. int 21h
  26. mov ah, 3eh
  27. int 21h
  28. jmp exit
  29. error:
  30. mov dl, ah
  31. mov cl, al
  32. mov ah, 2
  33. int 21h
  34. mov dl, cl
  35. int 21h
  36. mov ah, 9
  37. lea dx, _err
  38. int 21h
  39. exit:
  40. mov ah, 4ch
  41. int 21h
  42. _ioRec db 10 dup (0)
  43. _err db ' Fuck, some error',10,13,'$'
  44. _fname db 'dump2.dat',0
  45. _buf db 200h*COUNT dup (0)
  46. end start