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

  1.  
  2. ;************************************************************************
  3. ; Draw a box in upper left corner using BIOS function                   *
  4. ; WRITE PIXEL                                                           *
  5. ;************************************************************************
  6.  
  7. BIOS_Write_Pix  EQU     0CH
  8.  
  9.         PUBLIC  _BIOS_Pixel_Write
  10.  
  11. _BIOS_Pixel_Write PROC    NEAR
  12.  
  13.         ; We use CX as a pixel counter as well as pixel address
  14.         ; and use DX as a raster counter as well as raster address
  15.  
  16.         MOV     DX,100                  ;Want to draw 100 rasters
  17. Box_Raster_Loop:                        ;Loop over rasters
  18.         MOV     CX,100                  ;Want to draw 100 pixels across
  19. Box_Pixel_Loop:                         ;Loop over pixels within raster
  20.         MOV     AL,1                    ;Set color to be 1
  21.         MOV     AH,BIOS_Write_Pix       ;Function = WRITE PIXEL
  22.         INT     10H                     ;Ask BIOS to write pixel
  23.  
  24.         DEC     CX                      ;Update column number
  25.         JGE     Box_Pixel_Loop          ;If not last do it again
  26.         DEC     DX                      ;Update row number
  27.         JGE     Box_Raster_Loop         ;If not last row do it again
  28.         RET
  29. _BIOS_Pixel_Write ENDP
  30.