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

  1.  
  2. ;************************************************************************
  3. ; Display red character '9' on a blue background in the                 *
  4. ; middle of 80x25 screen using WRITE CHARACTER AND ATTRIBUTE            *
  5. ; function in the BIOS                                                  *
  6. ;************************************************************************
  7.  
  8.         PUBLIC _BIOS_Char_9
  9.  
  10. _BIOS_Char_9    PROC NEAR
  11.         MOV     DH,12                   ;Select row 12
  12.         MOV     DL,40                   ;Select column 40
  13.         MOV     BH,0                    ;Use first page
  14.         MOV     AH,2                    ;Function = SET CURSOR POSITION
  15.         INT     10H                     ;Ask BIOS to set cursor position
  16.  
  17.         MOV     AL,'9'                  ;Will display character '9'
  18.         MOV     BL,12H                  ;Set character attribute
  19.         MOV     BH,0                    ;Use first page
  20.         MOV     CX,1                    ;Do this character only once
  21.         MOV     AH,9                    ;Function = WRITE CHAR & ATTRIB
  22.         INT     10H                     ;Ask BIOS to display character
  23.         RET
  24. _BIOS_Char_9    ENDP
  25.  
  26. ;************************************************************************
  27. ; Display the character 'A' (with attribute same as previous            *
  28. ; character in same position) using WRITE CHARACTER ONLY                *
  29. ; function in the BIOS                                                  *
  30. ;************************************************************************
  31.  
  32.         PUBLIC _BIOS_Char_A
  33.  
  34. _BIOS_Char_A    PROC NEAR
  35.         MOV     DH,12                   ;Select row 12
  36.         MOV     DL,41                   ;Select column 41
  37.         MOV     BH,0                    ;Use first page
  38.         MOV     AH,2                    ;Function = SET CURSOR POSITION
  39.         INT     10H                     ;Ask BIOS to set cursor position
  40.  
  41.         MOV     AL,'A'                  ;Will display character 'A'
  42.         MOV     BH,0                    ;Use first page
  43.         MOV     CX,1                    ;Do this character only once
  44.         MOV     AH,0AH                  ;Function = WRITE CHARACTER
  45.         INT     10H                     ;Ask BIOS to display character
  46.         RET
  47. _BIOS_Char_A    ENDP
  48.  
  49. ;************************************************************************
  50. ; Display the characters 'FNE' (with attribute same as                  *
  51. ; previous charcter in same position) using TELETYPE                    *
  52. ; function in the BIOS                                                  *
  53. ;************************************************************************
  54.  
  55.         PUBLIC _BIOS_Char_E
  56.  
  57. _BIOS_Char_E    PROC NEAR
  58.         MOV     DH,13                   ;Select row 13
  59.         MOV     DL,40                   ;Select column 40
  60.         MOV     BH,0                    ;Use first page
  61.         MOV     AH,2                    ;Function = SET CURSOR POSITION
  62.         INT     10H                     ;Ask BIOS to set cursor position
  63.  
  64.         MOV     AL,'F'                  ;Will display character 'F'
  65.         MOV     BH,0                    ;Use first page
  66.         MOV     AH,0EH                  ;Function = TELETYPE
  67.         INT     10H                     ;Ask BIOS to display character
  68.  
  69.         MOV     AL,'N'                  ;Will display character 'N'
  70.         INT     10H                     ;Ask BIOS to display character
  71.  
  72.         MOV     AL,'E'                  ;Will display character 'E'
  73.         INT     10H                     ;Ask BIOS to display character
  74.         RET
  75. _BIOS_Char_E    ENDP
  76.  
  77. ;************************************************************************
  78. ; Display the characters 'F13' (with attribute same as                  *
  79. ; previous character in same position) using WRITE STRING               *
  80. ; function in the BIOS, with blue on red background                     *
  81. ;************************************************************************
  82.  
  83.         PUBLIC _BIOS_Char_13
  84.  
  85. TestChr DB      'FN13'
  86.  
  87. _BIOS_Char_13   PROC NEAR
  88.         PUSH    ES
  89.         PUSH BP
  90.  
  91.         MOV     DH,14                   ;Select row 14
  92.         MOV     DL,40                   ;Select column 40
  93.         MOV     BH,0                    ;Use first page
  94.         MOV     CX,4                    ;Display four characters
  95.         MOV     AX,CS                   ;Point ES:BP to the string
  96.         MOV     ES,AX
  97.         LEA     BP,TestChr
  98.         MOV     AH,13H                  ;Function    = WRITE TEXT STRING
  99.         MOV     AL,1                    ;Subfunction = update cursor
  100.         MOV     BL,12H                  ;BL has attribute
  101.         INT     10H                     ;Ask BIOS to display the string
  102.  
  103.         POP     BP
  104.         POP     ES
  105.         RET
  106. _BIOS_Char_13   ENDP
  107.