home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Low Level Languages / Rm Cobol V2.2 / COLOR.ASM < prev    next >
Encoding:
Assembly Source File  |  1985-09-12  |  2.6 KB  |  96 lines

  1.     page  60, 132
  2.     title    Color.asm - Assembly subprogram Color Test Program
  3. ;
  4. ;  ROUTINES TO SETUP BACK/FORE COLOR, BORDER COLOR, AND
  5. ;  DISPLAY-PAGE VARIABLES FOR RUNCOBOL.
  6. ;  NOTE: VARIABLES' ADDRESSES ARE KNOWN.
  7. ;
  8. ;SCCS information:
  9. ;@(#) color.asm  ver. 1.3 last update 85/09/12 14:36:59
  10. ;@(#) This source obtained from the s file on 85/09/12 at 14:37:10
  11.  
  12. CODE SEGMENT
  13.      ASSUME   CS:CODE,DS:CODE
  14. ;
  15. ;    DECLARE ENTRIES IN PROCTBL FORMAT.
  16. ;
  17.      DW     MODULE_ENDS
  18.      DB     12
  19.      DB     'COLORCNG.COM'
  20.      DW     COLORCNG_ENTRY
  21.      DB     11
  22.      DB     'BORDCNG.COM'
  23.      DW     BORDCNG_ENTRY
  24.      DB     11
  25.      DB     'PAGECNG.COM'
  26.      DW     PAGECNG_ENTRY
  27.      DB     0
  28. ;  Sccs information :
  29.         db    '@ #( ) (@)#@(#)'    ;SCCS id.
  30.         db    'color.asm'        ;Program name % M %.
  31.         db    ' ver. '
  32.         db    '1.3'        ;version % I %.
  33.         db    ' 85/09/12 '        ;date % E %.
  34.         db    '14:36:59'        ;time % U %.
  35.         db    '>'        ;Ending indicator.
  36. ;
  37. ;    RUNCOBOL'S VARIABLES' ADDRESSES
  38. ;
  39. BCOLOR       EQU      101H      ; BACKGROUND COLOR, FOR BIOS I/O
  40. FCOLOR       EQU      102H      ; FOREGROUND COLOR, FOR BIOS I/O
  41. BDCOLOR      EQU      103H      ; BORDER COLOR, FOR BIOS I/O
  42. VIDEO_PAGE   EQU      104H      ; DISPLAY-PAGE, FOR BIOS I/O
  43.  
  44. ;
  45. ; B/F COLOR CHANGE ROUTINE.
  46. ; CALLED FROM RM/COBOL WITH THE SYNTAX
  47. ;      CALL  "COLORCNG.COM" GIVING BCOLOR, FCOLOR.
  48. ;
  49. COLORCNG_ENTRY    PROC    FAR
  50.       MOV    DI,ES:[BX+2]
  51.       MOV    AL,ES:[DI+1]       ;AL <- PASSED FCOLOR
  52.       MOV    DI,ES:[BX+4]
  53.       MOV    AH,ES:[DI+1]       ;AH <- PASSED BCOLOR
  54. ;
  55. ;  SETUP BIOS COLOR VARIABLES FOR RUNCOBOL
  56. ;
  57.       MOV    DI,BCOLOR
  58.       MOV    ES:[DI],AH
  59.       MOV    DI,FCOLOR
  60.       MOV    ES:[DI],AL
  61.       XOR    AX,AX
  62.       RET
  63. COLORCNG_ENTRY     ENDP
  64.  
  65. ;
  66. ;  BORDER COLOR CHANGE ASM ROUTINE.
  67. ;  CALLED FROM RM/COBOL WITH SYNTAX
  68. ;      CALL  "BORDCNG.COM" GIVING BDCOLOR.
  69. ;
  70. BORDCNG_ENTRY      PROC  FAR
  71.       MOV    DI,ES:[BX+2]
  72.       MOV    AL,ES:[DI+1]        ;AL <- PASSED BORDER COLOR
  73.       MOV    DI,BDCOLOR
  74.       MOV    ES:[DI],AL          ;SETUP BIOS BORDER COLOR VARIABLE
  75.       XOR    AX,AX
  76.       RET
  77. BORDCNG_ENTRY      ENDP
  78.  
  79. ;
  80. ;  DISPLAY-PAGE CHANGE ASM ROUTINE.]
  81. ;  CALLED FROM RM/COBOL WITH SYNTAX
  82. ;      CALL  "PAGECNG.COM" GIVING VIDEO_PAGE.
  83. ;
  84. PAGECNG_ENTRY       PROC  FAR
  85.       MOV    DI,ES:[BX+2]
  86.       MOV    AL,ES:[DI+1]        ;AL <- PASSED DISPLAY-PAGE
  87.       MOV    DI,VIDEO_PAGE
  88.       MOV    ES:[DI],AL          ;SETUP BIOS DISPLAY-PAGE VARIABLE
  89.       XOR    AX,AX
  90.       RET
  91. PAGECNG_ENTRY       ENDP
  92.  
  93. MODULE_ENDS      EQU     $
  94. CODE  ENDS
  95.       END
  96.