home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / ASM / ASMS4QB.ZIP / DSCROLL.ASM next >
Encoding:
Assembly Source File  |  1986-07-20  |  1.8 KB  |  38 lines

  1.         title DSCROLL.ASM: A LINKABLE ROUTINE TO SCROLL THE SCREEN DOWN.
  2.         ;THIS ROUTINE IS PASSED THE UPPER LEFT CORNER TO SCROLL.  THE LOWER
  3.         ;RIGHT CORNER IS PERMANENTLY SET TO ROW 22, COLUMN 79.  THE ROUTINE
  4.         ;WILL USE A BIOS CALL TO SCROLL ALL LINES IN THAT PAGE DOWN AND INSERT
  5.         ;A BLANK LINE WITH NO ATTRIBUTES AT THE TOP OF THE SCREEN.  THE TOP OF
  6.         ;THE SCREEN WILL BE THE TOP LINE INVOLVED IN THE SCROLL.  TO SCROLL
  7.         ;THE WHOLE SCREEN, SET THE TOP LINE TO ZERO (0).  WRITTEN BY BRUCE W.
  8.         ;TONKIN ON 9-18-85 USING IBM'S MACRO-ASSEMBLER.
  9.         ;COPYRIGHT (C) 1986, BRUCE W. TONKIN.  YOU MAY USE
  10.         ;THIS ROUTINE IN ANY WORK WITH OR WITHOUT ATTRIBUTION.
  11.  
  12. DATA     SEGMENT WORD PUBLIC 'DATA'
  13. STORAGE  DW   16
  14. DATA     ENDS
  15. DGROUP   GROUP     DATA
  16. CODE     SEGMENT BYTE PUBLIC 'CODE'
  17.          ASSUME CS:CODE, DS:DGROUP
  18.          PUBLIC DSCROLL
  19. DSCROLL  PROC FAR
  20.          PUSH BP             ;SAVE BASE POINTER
  21.          MOV  BP,SP          ;SET UP TO ADDRESS OFF OF BP
  22.          MOV  BX,[BP]+6      ;GET THE ADDRESS OF THE PARAMETER
  23.          MOV  CX,0           ;ZERO CX REGISTER
  24.          ADD  CX,[BX]        ;PUT ROW ADDRESS INTO CX
  25.          MOV  CH,CL          ;MOVE ROW TO CH
  26.          MOV  CL,0           ;SET COLUMN NUMBER TO ZERO FOR UPPER LEFT
  27.          MOV  DH,22          ;BOTTOM ROW NUMBER
  28.          MOV  DL,79          ;BOTTOM COLUMN NUMBER
  29.          MOV  BX,112         ;SET ATTRIBUTE TO USE INTO BH
  30.          MOV  AL,1           ;NUMBER OF LINES TO SCROLL, 0 MEANS ALL LINES.
  31.          MOV  AH,7           ;BIOS FUNCTION CALL
  32.          INT  010H           ;INTERRUPT 10 HEX=16 DECIMAL
  33.          POP  BP             ;RESTORE BASE POINTER
  34.          RET  2              ;RETURN AND REMOVE ONE PARAMETER FROM STACK
  35. DSCROLL  ENDP
  36. CODE     ENDS
  37.          END
  38.