home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / ASM / ASMS4QB.ZIP / USCROLL.ASM < prev   
Encoding:
Assembly Source File  |  1986-07-20  |  1.7 KB  |  37 lines

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