home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TUR6_101.ZIP / V18.ASM < prev    next >
Encoding:
Assembly Source File  |  1986-06-07  |  2.7 KB  |  44 lines

  1. ;--------------------------------------------------------------------
  2. ; Author       : Kevin Dahl                                         :
  3. ; Last Revised : June 7, 1986                                       :
  4. ;                                                                   :
  5. ; FILENAME - V18.ENH                                                :
  6. ;                                                                   :
  7. ; SCROLLUP                                                          :
  8. ;        Moves a block of characters up on the screen               :
  9. ;                                                                   :
  10. ; ENTRY                                                             :
  11. ;        [bp+6]  = Bottom row of screen area to be scrolled.        :
  12. ;        [bp+8]  = Right column of screen area to be scrolled.      :
  13. ;        [bp+10] = Top row of screen are to be scrolled.            :
  14. ;        [bp+12] = Left column of screen area to be scrolled.       :
  15. ;        [bp+14] = Attribute color to be used on blank line.        :
  16. ;        [bp+16] = Number of rows or lines to scroll                :
  17. ;                                                                   :
  18. ; EXIT                                                              :
  19. ;        Nothing -- the screen is modified.                         :
  20. ;--------------------------------------------------------------------
  21. scrollup      proc      near
  22.               push      ds
  23.               push      bp                       ; save stack
  24.               mov       bp,sp
  25.  
  26.               mov       dh,[bp+6]                ; bottom row
  27.               mov       dl,[bp+8]                ; right column
  28.               mov       ch,[bp+10]               ; top row
  29.               mov       cl,[bp+12]               ; left column
  30.               dec       dh                       ; adjust to absolute bottom row
  31.               dec       dl                       ; adjust to absolute right col
  32.               dec       ch                       ; adjust to absolute top row
  33.               dec       cl                       ; adjust to absolute left col
  34.               mov       bh,[bp+14]               ; color for blank rows
  35.               mov       al,[bp+16]               ; number of lines to scroll
  36.               mov       ah,6                     ; scroll down service
  37.               push      bp                       ; save base pointer
  38.               int       10h                      ; let BIOS do scroll
  39.               pop       sp
  40.               pop       bp
  41.               pop       ds                       ; restore data segment
  42.               ret       12                       ; remove parameters and return
  43. scrollup      endp
  44.