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

  1.  
  2. ;************************************************************************
  3. ; Read character attribute at the cursor position at Row and Col        *
  4. ; Entry: Row,Col  Passed on the stack as integers                       *
  5. ; Exit:  AX       Backgrouond and foreground colors packed into a byte  *
  6. ;************************************************************************
  7.  
  8. Row     EQU     [BP+4]
  9. Col     EQU     [BP+6]
  10.  
  11.         PUBLIC  _BIOS_Read_Attr
  12.  
  13. _BIOS_Read_Attr PROC NEAR
  14.         PUSH    BP
  15.         MOV     BP,SP
  16.  
  17.         MOV     DH,Row                  ;Set row and column
  18.         MOV     DL,Col
  19.         MOV     BH,0                    ;Select page 0
  20.         MOV     AH,2                    ;Function = Set cursor position
  21.         INT     10H                     ;Ask BIOS to set cursor position
  22.  
  23.         MOV     AH,8                    ;Function = READ CHARACTER & ATTRIBUTE
  24.         MOV     BH,0                    ;from page 0
  25.         INT     10H                     ;Ask BIOS to fetch attribute
  26.  
  27.         MOV     AL,AH                   ;Move attribute into lower byte
  28.         XOR     AH,AH                   ;Clear upper byte of return value
  29.  
  30.         POP     BP
  31.         RET
  32. _BIOS_Read_Attr ENDP
  33.