home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Assembly / DSKPAT17.ASM < prev    next >
Assembly Source File  |  1986-09-24  |  1KB  |  56 lines

  1. CGROUP    GROUP    CODE_SEG, DATA_SEG
  2.     ASSUME    CS:CGROUP, DS:CGROUP
  3.  
  4.  
  5. CODE_SEG    SEGMENT PUBLIC
  6.     ORG    100h
  7.  
  8.     EXTRN    CLEAR_SCREEN:NEAR, READ_SECTOR:NEAR
  9.     EXTRN    INIT_SEC_DISP:NEAR, WRITE_HEADER:NEAR
  10. DISK_PATCH    PROC    NEAR
  11.     CALL    CLEAR_SCREEN
  12.     CALL    WRITE_HEADER
  13.     CALL    READ_SECTOR
  14.     CALL    INIT_SEC_DISP
  15.     INT    20h
  16. DISK_PATCH    ENDP
  17.  
  18. CODE_SEG    ENDS
  19.  
  20. DATA_SEG    SEGMENT PUBLIC
  21.  
  22.     PUBLIC    SECTOR_OFFSET
  23. ;-----------------------------------------------;
  24. ; SECTOR_OFFSET is the offset of the half    ;
  25. ; sector display into the full sector.  It must    ;
  26. ; be a multiple of 16, and not greater than 256    ;
  27. ;-----------------------------------------------;
  28. SECTOR_OFFSET    DW    0
  29.  
  30.     PUBLIC    CURRENT_SECTOR_NO, DISK_DRIVE_NO
  31. CURRENT_SECTOR_NO    DW    0        ;Initially sector 0
  32. DISK_DRIVE_NO        DB    0        ;Initially Drive A:
  33.  
  34.     PUBLIC    LINES_BEFORE_SECTOR, HEADER_LINE_NO
  35.     PUBLIC    HEADER_PART_1, HEADER_PART_2
  36. ;-----------------------------------------------;
  37. ; LINES_BEFORE_SECTOR is the number of lines    ;
  38. ; at the top of the screen before the half-    ;
  39. ; sector display.                ;
  40. ;-----------------------------------------------;
  41. LINES_BEFORE_SECTOR    DB    2
  42. HEADER_LINE_NO        DB    0
  43. HEADER_PART_1        DB    'Disk ',0
  44. HEADER_PART_2        DB    '         Sector ',0
  45.  
  46.     PUBLIC    SECTOR
  47. ;-----------------------------------------------;
  48. ; The entire sector (up to 8192 bytes) is    ;
  49. ; stored in this part of memory.        ;
  50. ;-----------------------------------------------;
  51. SECTOR    DB    8192 DUP (0)
  52.  
  53. DATA_SEG    ENDS
  54.  
  55.     END    DISK_PATCH
  56.