home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Assembly / DSKPAT19.ASM < prev    next >
Assembly Source File  |  1986-09-25  |  2KB  |  64 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.     EXTRN    WRITE_PROMPT_LINE:NEAR, DISPATCHER:NEAR
  11. DISK_PATCH    PROC    NEAR
  12.     CALL    CLEAR_SCREEN
  13.     CALL    WRITE_HEADER
  14.     CALL    READ_SECTOR
  15.     CALL    INIT_SEC_DISP
  16.     LEA    DX,EDITOR_PROMPT
  17.     CALL    WRITE_PROMPT_LINE
  18.     CALL    DISPATCHER
  19.     INT    20h
  20. DISK_PATCH    ENDP
  21.  
  22. CODE_SEG    ENDS
  23.  
  24. DATA_SEG    SEGMENT PUBLIC
  25.  
  26.     PUBLIC    SECTOR_OFFSET
  27. ;-----------------------------------------------;
  28. ; SECTOR_OFFSET is the offset of the half    ;
  29. ; sector display into the full sector.  It must    ;
  30. ; be a multiple of 16, and not greater than 256    ;
  31. ;-----------------------------------------------;
  32. SECTOR_OFFSET    DW    0
  33.  
  34.     PUBLIC    CURRENT_SECTOR_NO, DISK_DRIVE_NO
  35. CURRENT_SECTOR_NO    DW    0        ;Initially sector 0
  36. DISK_DRIVE_NO        DB    0        ;Initially Drive A:
  37.  
  38.     PUBLIC    LINES_BEFORE_SECTOR, HEADER_LINE_NO
  39.     PUBLIC    HEADER_PART_1, HEADER_PART_2
  40. ;-----------------------------------------------;
  41. ; LINES_BEFORE_SECTOR is the number of lines    ;
  42. ; at the top of the screen before the half-    ;
  43. ; sector display.                ;
  44. ;-----------------------------------------------;
  45. LINES_BEFORE_SECTOR    DB    2
  46. HEADER_LINE_NO        DB    0
  47. HEADER_PART_1        DB    'Disk ',0
  48. HEADER_PART_2        DB    '         Sector ',0
  49.     PUBLIC    PROMPT_LINE_NO, EDITOR_PROMPT
  50. PROMPT_LINE_NO        DB    21
  51. EDITOR_PROMPT        DB    'Press function key, or enter'
  52.             DB    ' character of hex byte: ',0
  53.  
  54.     PUBLIC    SECTOR
  55. ;-----------------------------------------------;
  56. ; The entire sector (up to 8192 bytes) is    ;
  57. ; stored in this part of memory.        ;
  58. ;-----------------------------------------------;
  59. SECTOR    DB    8192 DUP (0)
  60.  
  61. DATA_SEG    ENDS
  62.  
  63.     END    DISK_PATCH
  64.