home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / miscutil.zip / TBWINDOW.ZIP / SCROLL.ASM < prev    next >
Assembly Source File  |  1987-05-27  |  3KB  |  53 lines

  1.               title     SCROLL
  2.               page      60,132
  3.  
  4. dir           equ       [bp + 06h]          ; DIR%
  5. lines         equ       [bp + 0Ah]          ; LINES%
  6. rtcol         equ       [bp + 0Eh]          ; RTCOL%
  7. botrow        equ       [bp + 12h]          ; BOTROW%
  8. leftcol       equ       [bp + 16h]          ; LEFTCOL%
  9. toprow        equ       [bp + 1Ah]          ; TOPROW%
  10.  
  11. program       segment                       ; begin program segment
  12.               assume    cs:program          ; parameters on stack
  13.               push      bp                  ; save for basic
  14.               mov       bp,sp               ; establish stack
  15.               push      es                  ; save for return
  16.               push      bp                  ; save for later
  17.               mov       ah,0Fh              ; dos function
  18.               int       10h                 ; get current video mode
  19.               pop       bp                  ; restore bp
  20.               les       di,leftcol          ; get pointer to left column
  21.               mov       dl,es:[di]          ; get lsb only to dl
  22.               dec       dx                  ; dec for 0-79 format
  23.               les       di,toprow           ; get pointer to top row
  24.               mov       dh,es:[di]          ; get lsb only to dh
  25.               dec       dh                  ; dec for 0-24 format
  26.               push      bp                  ; save for later
  27.               push      dx                  ; save for later
  28.               push      bx                  ; save for later
  29.               mov       ah,02h              ; dos function
  30.               int       10h                 ; set cursor to inside area
  31.               pop       bx                  ; restore bx
  32.               mov       ah,08h              ; dos function
  33.               int       10h                 ; get attribute
  34.               pop       cx                  ; ch=toprow cl=leftcol was dx
  35.               pop       bp                  ; restore bp
  36.               les       di,rtcol            ; get pointer to right column
  37.               mov       dl,es:[di]          ; get lsb only to dl
  38.               dec       dx                  ; dec for 0-79 format
  39.               les       di,botrow           ; get pointer to botrow
  40.               mov       dh,es:[di]          ; get lsb only to dh
  41.               dec       dh                  ; dec for 0-24 format
  42.               les       di,lines            ; get pointer to lines
  43.               mov       al,es:[di]          ; get lsb only to al
  44.               mov       bh,ah               ; mov attribute to bh
  45.               les       di,dir              ; get pointer to direction
  46.               mov       ah,es:[di]          ; put in ah
  47.               int       10h                 ; finally scroll
  48.               pop       es                  ; restore es
  49.               pop       bp                  ; back to basic
  50. program       ends
  51.               end
  52.  
  53.