home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / C-ASM_VI.ARJ / PROGASM.ZIP / PROG022.ASM < prev    next >
Assembly Source File  |  1988-05-15  |  1KB  |  32 lines

  1.  
  2. ;************************************************************************
  3. ; Get current number of rows and columns                                *
  4. ; Entry:Rows - Pointer to number of rows                                *
  5. ;       Cols - Pointer to number of columns                             *
  6. ; Exit: Values at the pointer will be set                               *
  7. ;************************************************************************
  8.  
  9. Rows    EQU     [BP+4]
  10. Cols    EQU     [BP+6]
  11.  
  12.         PUBLIC  _Get_Rows_n_Cols
  13.  
  14. _Get_Rows_n_Cols PROC NEAR
  15.         PUSH    BP
  16.         MOV     BP,SP
  17.         PUSH    ES                      ;Preserve ES
  18.         XOR     AX,AX                   ;Set ES to segment zero
  19.         MOV     ES,AX
  20.         MOV     DL,ES:[BIOS_Rows]       ;Fetch current rows
  21.         INC     DL                      ;Adjust (since row-1 is stored)
  22.         MOV     BX,Rows                 ;Fetch pointer
  23.         XOR     DH,DH                   ;Clear upper half of DX
  24.         MOV     [BX],DX                 ;Save number of rows
  25.         MOV     CX,ES:[BIOS_Columns]    ;Fetch current columns
  26.         MOV     BX,Cols                 ;Fetch pointer
  27.         MOV     [BX],CX                 ;Save number of columns
  28.         POP     ES
  29.         POP     BP
  30.         RET
  31. _Get_Rows_n_Cols   ENDP
  32.