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

  1.  
  2. ;************************************************************************
  3. ; Write 'Hello' in the middle of the 80x25 screen using                 *
  4. ; BIOS function 13hex, and move cursor to the start of next             *
  5. ; line by including CARRIAGE RETURN and LINEFEED in the text            *
  6. ;************************************************************************
  7.  
  8. CARRIAGE_RETURN EQU     0DH
  9. LINE_FEED       EQU     0AH
  10.  
  11. Text            DB      'Hello', CARRIAGE_RETURN, LINE_FEED
  12.  
  13.         PUBLIC  _BIOS_Write_String
  14.  
  15. _BIOS_Write_String PROC NEAR
  16.         PUSH    ES                      ;Preserve registers
  17.         PUSH    BP
  18.  
  19.         MOV     AX,CS                   ;Get pointer to the string
  20.         MOV     ES,AX                   ;into register pair ES:BP
  21.         LEA     BP,Text
  22.         MOV     BX,0                    ;Select page 0
  23.         MOV     BL,7                    ;Use normal attribute
  24.         MOV     CX,5                    ;Display 5 characters
  25.         MOV     DH,12                   ;Start at row 12
  26.         MOV     DL,40                   ;Start at column 40
  27.         MOV     AH,13H                  ;Function = WRITE TEXT STRING
  28.         MOV     AL,0H                   ;Subfunction = Update Cursor Pos.
  29.         INT     10H                     ;Ask BIOS to display the text
  30.  
  31.         POP     BP
  32.         POP     ES                      ;Restore segment register
  33.         RET
  34. _BIOS_Write_String ENDP
  35.