home *** CD-ROM | disk | FTP | other *** search
/ MS DOS Archives 1 / MS-DOS_Archives_Volume_One_Walnut_Creek.iso / msdos / graphics / int_70h.arc / ID.ASM next >
Assembly Source File  |  1988-12-07  |  23KB  |  602 lines

  1.             PAGE  60, 132
  2.             TITLE Testing the TSR graphics interupt
  3.  
  4.  
  5. CSEG     SEGMENT
  6.  
  7.          ORG  100H
  8.          ASSUME CS:CSEG, DS:CSEG, SS:CSEG
  9.  
  10. START:   MOV  AH, 7                  ; fn to get a key
  11.          INT  21h                    ; DOS int call
  12.  
  13.          CMP  AL, 27                 ; check to see if they hit the <Esc> key
  14.          JNE  OKsofar                ; if so, get out
  15.          JMP  DONE
  16.  
  17. OKsofar: CMP  AL, 30h                ; check to see if the key hit was 0
  18.          JA   Maybe                  ; if so, get out
  19.          JB   START                  ; if less than even that, try again
  20.          JMP  DONE
  21.  
  22. Maybe:   CMP  AL, 37h                ; check it against the 7 key
  23.          JA   START                  ; if higher than that, try again
  24.  
  25.  
  26. ;            +----------------------------------------------+
  27. ;            |  the only way to get to this point is if the |
  28. ;            | key hit was a number key between 1 and 7.    |
  29. ;            +----------------------------------------------+
  30.  
  31.          CMP  AL, 32h                ; check to see if a 2 was hit
  32.          JB   Turn_on_gr             ; if less than that, it was the # 1
  33.          JE   Turn_on_text           ; if equal . . .
  34.  
  35.          CMP  AL, 34h                ; compare the input to 4
  36.          JB   Draw_pts               ; if less than that, it was 3 (1&2 above)
  37.          JE   Draw_lines             ; if equal . . .
  38.  
  39.          CMP  AL, 36h                ; compare it to 6
  40.          JB   Set_active_pg_int      ; if below, 5
  41.          JE   Clear_the_pg_int       ; if equal, 6
  42.          JA   Fill_the_pg_int        ; if above, 7
  43.  
  44.  
  45. Set_active_pg_int:
  46.          JMP  Set_active_pg
  47.  
  48. Clear_the_pg_int:
  49.          JMP  Clear_the_pg
  50.  
  51. Fill_the_pg_int:
  52.          JMP  Fill_the_pg
  53.  
  54.  
  55.  
  56. Turn_on_gr:
  57.          MOV  AH, 7                  ; get a number for the page
  58.          INT  21h
  59.  
  60.          CMP  AL, 31h                ; is it too high or too low
  61.          JA   Turn_on_gr
  62.          CMP  AL, 30h
  63.          JB   Turn_on_gr
  64.  
  65.          AND  AL, 1                  ; mask off low bit
  66.          OR   AL, 10h                ; make AL the INT 70h fn to turn on gr
  67.  
  68.          LEA  BX, misc               ; get address for misc data area
  69.          MOV  [BX], AL               ; move gr on fn to there
  70.          XOR  AL, AL                 ; clear byte
  71.          MOV  [BX + 1], AL           ; tell interupt when to stop
  72.          MOV  AX, DS                 ; get segment for interupt call
  73.          INT  70h                    ; call interupt
  74.          JMP  START                  ; you're done
  75.  
  76.  
  77. Turn_on_text:
  78.          MOV  AH, 7                  ; get a number for the page
  79.          INT  21h
  80.  
  81.          CMP  AL, 31h                ; is it too high or too low
  82.          JA   Turn_on_text
  83.          CMP  AL, 30h
  84.          JB   Turn_on_text
  85.  
  86.          AND  AL, 1                  ; mask off low bit
  87.          OR   AL, 20h                ; make AL the INT 70h fn to turn on text
  88.  
  89.          LEA  BX, misc               ; get address for misc data area
  90.          MOV  [BX], AL               ; move text on fn to there
  91.          XOR  AL, AL                 ; clear byte
  92.          MOV  [BX + 1], AL           ; tell interupt when to stop
  93.          MOV  AX, DS                 ; get segment for interupt call
  94.          INT  70h                    ; call interupt
  95.          JMP  START                  ; you're done
  96.  
  97.  
  98.  
  99. Draw_pts:
  100.          MOV  AX, DS
  101.          LEA  BX, Points
  102.          INT  70h
  103.          JMP  START
  104.  
  105.  
  106.  
  107. Draw_lines:
  108.          MOV  AX, DS                ; setup for INT 70h: get the segment and
  109.          LEA  BX, Lines             ;   offset of the data
  110.          INT  70H                   ; call graphics interupt
  111.          CMP  AH, 0FFh
  112.          JZ   DONE
  113.  
  114.          JMP  START
  115.  
  116.  
  117. Set_active_pg:
  118.          MOV  AH, 7                  ; get a number for the page
  119.          INT  21h
  120.  
  121.          CMP  AL, 31h                ; is it too high or too low
  122.          JA   Set_active_pg
  123.          CMP  AL, 30h
  124.          JB   Set_active_pg
  125.  
  126.          AND  AL, 1                  ; mask off low bit
  127.          OR   AL, 50h                ; make AL the INT 70h fn to set active pg
  128.  
  129.          LEA  BX, misc               ; get address for misc data area
  130.          MOV  [BX], AL               ; move set active pg fn to there
  131.          XOR  AL, AL                 ; clear byte
  132.          MOV  [BX + 1], AL           ; tell interupt when to stop
  133.          MOV  AX, DS                 ; get segment for interupt call
  134.          INT  70h                    ; call interupt
  135.          JMP  START                  ; you're done
  136.  
  137.  
  138.  
  139.  
  140. Clear_the_pg:
  141.          MOV  AH, 7                  ; get a number for the page
  142.          INT  21h
  143.  
  144.          CMP  AL, 31h                ; is it too high or too low
  145.          JA   Clear_the_pg
  146.          CMP  AL, 30h
  147.          JB   Clear_the_pg
  148.  
  149.          AND  AL, 1                  ; mask off low bit
  150.          OR   AL, 60h                ; make AL the INT 70h fn to Clear the pg
  151.  
  152.          LEA  BX, misc               ; get address for misc data area
  153.          MOV  [BX], AL               ; move clear the pg fn to there
  154.          XOR  AL, AL                 ; clear byte
  155.          MOV  [BX + 1], AL           ; tell interupt when to stop
  156.          MOV  AX, DS                 ; get segment for interupt call
  157.          INT  70h                    ; call interupt
  158.          JMP  START                  ; you're done
  159.  
  160.  
  161.  
  162.  
  163. Fill_the_pg:
  164.          MOV  AH, 7                  ; get a number for the page
  165.          INT  21h
  166.  
  167.          CMP  AL, 31h                ; is it too high or too low
  168.          JA   Fill_the_pg
  169.          CMP  AL, 30h
  170.          JB   Fill_the_pg
  171.  
  172.          AND  AL, 1                  ; mask off low bit
  173.          OR   AL, 70h                ; make AL the INT 70h fn to Fill the pg
  174.  
  175.          LEA  BX, misc               ; get address for misc data area
  176.          MOV  [BX], AL               ; move fill the pg fn to there
  177.  
  178.          MOV  AH, 7                  ; get a number to fill the page with
  179.          INT  21h
  180.  
  181.          MOV  AH, AL                 ; since 2 bytes are used, copy given byte
  182.          MOV  [BX+1], AX             ; store the value in memory
  183.  
  184.          XOR  AL, AL                 ; clear byte
  185.          MOV  [BX + 3], AL           ; tell interupt when to stop
  186.          MOV  AX, DS                 ; get segment for interupt call
  187.          INT  70h                    ; call interupt
  188.          JMP  START                  ; you're done
  189.  
  190.  
  191.  
  192.  
  193.  
  194. DONE:    MOV  AX, CS                ; setupt for INT 70h
  195.          LEA  BX, Reset
  196.          INT  70H                   ; call graphics interupt
  197.  
  198.          INT  20H                   ; stop this program
  199.  
  200.  
  201. misc     DB   00
  202.          DW   0000
  203.          DW   0000
  204.  
  205.  
  206. Gr_on    DB   11h                   ; turn on graphics
  207.          DB   61h                   ; clear page 1
  208.          DB   51h                   ; set active page to 1
  209.          DB   00
  210.  
  211.  
  212. Points   DB   32h                   ; plot a point
  213.          DW     9, 140
  214.          DB   32h                   ; plot a point
  215.          DW    10, 140
  216.          DB   32h
  217.          DW    11, 140
  218.          DB   32h                   ; plot a point
  219.          DW     9, 141
  220.          DB   32h                   ; plot a point
  221.          DW    10, 141
  222.          DB   32h
  223.          DW    11, 141
  224.  
  225.          DB   32h                   ; plot a point
  226.          DW    39, 170
  227.          DB   32h                   ; plot a point
  228.          DW    40, 170
  229.          DB   32h
  230.          DW    41, 170
  231.          DB   32h                   ; plot a point
  232.          DW    39, 171
  233.          DB   32h                   ; plot a point
  234.          DW    40, 171
  235.          DB   32h
  236.          DW    41, 171
  237.  
  238.          DB   32h                   ; plot a point
  239.          DW     9, 200
  240.          DB   32h                   ; plot a point
  241.          DW    10, 200
  242.          DB   32h                   ; plot a point
  243.          DW    11, 200
  244.          DB   32h                   ; plot a point
  245.          DW     9, 201
  246.          DB   32h                   ; plot a point
  247.          DW    10, 201
  248.          DB   32h                   ; plot a point
  249.          DW    11, 201
  250.  
  251.          DB   32h                   ; plot a point
  252.          DW   689, 140
  253.          DB   32h                   ; plot a point
  254.          DW   690, 140
  255.          DB   32h                   ; plot a point
  256.          DW   691, 140
  257.          DB   32h                   ; plot a point
  258.          DW   689, 141
  259.          DB   32h                   ; plot a point
  260.          DW   690, 141
  261.          DB   32h                   ; plot a point
  262.          DW   691, 141
  263.  
  264.          DB   32h                   ; plot a point
  265.          DW   659, 170
  266.          DB   32h                   ; plot a point
  267.          DW   660, 170
  268.          DB   32h                   ; plot a point
  269.          DW   661, 170
  270.          DB   32h                   ; plot a point
  271.          DW   659, 171
  272.          DB   32h                   ; plot a point
  273.          DW   660, 171
  274.          DB   32h                   ; plot a point
  275.          DW   661, 171
  276.  
  277.          DB   32h                   ; plot a point
  278.          DW   689, 200
  279.          DB   32h                   ; plot a point
  280.          DW   690, 200
  281.          DB   32h                   ; plot a point
  282.          DW   691, 200
  283.          DB   32h                   ; plot a point
  284.          DW   689, 201
  285.          DB   32h                   ; plot a point
  286.          DW   690, 201
  287.          DB   32h                   ; plot a point
  288.          DW   691, 201
  289.          DB   00
  290.  
  291.  
  292. Lines    DB   42h                   ; draw a line (XOR)
  293.          DW     0,  0, 700, 340
  294.          DB   42h                   ; draw a line (XOR)
  295.          DW    10,  0, 690, 340
  296.          DB   42h                   ; draw a line (XOR)
  297.          DW    20,  0, 680, 340
  298.          DB   42h                   ; draw a line (XOR)
  299.          DW    30,  0, 670, 340
  300.          DB   42h                   ; draw a line (XOR)
  301.          DW    40,  0, 660, 340
  302.          DB   42h                   ; draw a line (XOR)
  303.          DW    50,  0, 650, 340
  304.          DB   42h                   ; draw a line (XOR)
  305.          DW    60,  0, 640, 340
  306.          DB   42h                   ; draw a line (XOR)
  307.          DW    70,  0, 630, 340
  308.          DB   42h                   ; draw a line (XOR)
  309.          DW    80,  0, 620, 340
  310.          DB   42h                   ; draw a line (XOR)
  311.          DW    90,  0, 610, 340
  312.  
  313.          DB   42h                   ; draw a line (XOR)
  314.          DW   100,  0, 600, 340
  315.          DB   42h                   ; draw a line (XOR)
  316.          DW   110,  0, 590, 340
  317.          DB   42h                   ; draw a line (XOR)
  318.          DW   120,  0, 580, 340
  319.          DB   42h                   ; draw a line (XOR)
  320.          DW   130,  0, 570, 340
  321.          DB   42h                   ; draw a line (XOR)
  322.          DW   140,  0, 560, 340
  323.          DB   42h                   ; draw a line (XOR)
  324.          DW   150,  0, 550, 340
  325.          DB   42h                   ; draw a line (XOR)
  326.          DW   160,  0, 540, 340
  327.          DB   42h                   ; draw a line (XOR)
  328.          DW   170,  0, 530, 340
  329.          DB   42h                   ; draw a line (XOR)
  330.          DW   180,  0, 520, 340
  331.          DB   42h                   ; draw a line (XOR)
  332.          DW   190,  0, 510, 340
  333.  
  334.          DB   42h                   ; draw a line (XOR)
  335.          DW   200,  0, 500, 340
  336.          DB   42h                   ; draw a line (XOR)
  337.          DW   210,  0, 490, 340
  338.          DB   42h                   ; draw a line (XOR)
  339.          DW   220,  0, 480, 340
  340.          DB   42h                   ; draw a line (XOR)
  341.          DW   230,  0, 470, 340
  342.          DB   42h                   ; draw a line (XOR)
  343.          DW   240,  0, 460, 340
  344.          DB   42h                   ; draw a line (XOR)
  345.          DW   250,  0, 450, 340
  346.          DB   42h                   ; draw a line (XOR)
  347.          DW   260,  0, 440, 340
  348.          DB   42h                   ; draw a line (XOR)
  349.          DW   270,  0, 430, 340
  350.          DB   42h                   ; draw a line (XOR)
  351.          DW   280,  0, 420, 340
  352.          DB   42h                   ; draw a line (XOR)
  353.          DW   290,  0, 410, 340
  354.  
  355.          DB   42h                   ; draw a line (XOR)
  356.          DW   300,  0, 400, 340
  357.          DB   42h                   ; draw a line (XOR)
  358.          DW   310,  0, 390, 340
  359.          DB   42h                   ; draw a line (XOR)
  360.          DW   320,  0, 380, 340
  361.          DB   42h                   ; draw a line (XOR)
  362.          DW   330,  0, 370, 340
  363.          DB   42h                   ; draw a line (XOR)
  364.          DW   340,  0, 360, 340
  365.          DB   42h                   ; draw a line (XOR)
  366.          DW   350,  0, 350, 340
  367.          DB   42h                   ; draw a line (XOR)
  368.          DW   360,  0, 340, 340
  369.          DB   42h                   ; draw a line (XOR)
  370.          DW   370,  0, 330, 340
  371.          DB   42h                   ; draw a line (XOR)
  372.          DW   380,  0, 320, 340
  373.          DB   42h                   ; draw a line (XOR)
  374.          DW   390,  0, 310, 340
  375.  
  376.          DB   42h                   ; draw a line (XOR)
  377.          DW   400,  0, 300, 340
  378.          DB   42h                   ; draw a line (XOR)
  379.          DW   410,  0, 290, 340
  380.          DB   42h                   ; draw a line (XOR)
  381.          DW   420,  0, 280, 340
  382.          DB   42h                   ; draw a line (XOR)
  383.          DW   430,  0, 270, 340
  384.          DB   42h                   ; draw a line (XOR)
  385.          DW   440,  0, 260, 340
  386.          DB   42h                   ; draw a line (XOR)
  387.          DW   450,  0, 250, 340
  388.          DB   42h                   ; draw a line (XOR)
  389.          DW   460,  0, 240, 340
  390.          DB   42h                   ; draw a line (XOR)
  391.          DW   470,  0, 230, 340
  392.          DB   42h                   ; draw a line (XOR)
  393.          DW   480,  0, 220, 340
  394.          DB   42h                   ; draw a line (XOR)
  395.          DW   490,  0, 210, 340
  396.  
  397.          DB   42h                   ; draw a line (XOR)
  398.          DW   500,  0, 200, 340
  399.          DB   42h                   ; draw a line (XOR)
  400.          DW   510,  0, 190, 340
  401.          DB   42h                   ; draw a line (XOR)
  402.          DW   520,  0, 180, 340
  403.          DB   42h                   ; draw a line (XOR)
  404.          DW   530,  0, 170, 340
  405.          DB   42h                   ; draw a line (XOR)
  406.          DW   540,  0, 160, 340
  407.          DB   42h                   ; draw a line (XOR)
  408.          DW   550,  0, 150, 340
  409.          DB   42h                   ; draw a line (XOR)
  410.          DW   560,  0, 140, 340
  411.          DB   42h                   ; draw a line (XOR)
  412.          DW   570,  0, 130, 340
  413.          DB   42h                   ; draw a line (XOR)
  414.          DW   580,  0, 120, 340
  415.          DB   42h                   ; draw a line (XOR)
  416.          DW   590,  0, 110, 340
  417.  
  418.          DB   42h                   ; draw a line (XOR)
  419.          DW   600,  0, 100, 340
  420.          DB   42h                   ; draw a line (XOR)
  421.          DW   610,  0,  90, 340
  422.          DB   42h                   ; draw a line (XOR)
  423.          DW   620,  0,  80, 340
  424.          DB   42h                   ; draw a line (XOR)
  425.          DW   630,  0,  70, 340
  426.          DB   42h                   ; draw a line (XOR)
  427.          DW   640,  0,  60, 340
  428.          DB   42h                   ; draw a line (XOR)
  429.          DW   650,  0,  50, 340
  430.          DB   42h                   ; draw a line (XOR)
  431.          DW   660,  0,  40, 340
  432.          DB   42h                   ; draw a line (XOR)
  433.          DW   670,  0,  30, 340
  434.          DB   42h                   ; draw a line (XOR)
  435.          DW   680,  0,  20, 340
  436.          DB   42h                   ; draw a line (XOR)
  437.          DW   690,  0,  10, 340
  438.          DB   42h                   ; draw a line (XOR)
  439.          DW   700,  0,   0, 340
  440.  
  441. ;---------------------- SECOND SET OF LINES ----------------------
  442.  
  443.          DB   42h                   ; draw a line (XOR)
  444.          DW     5,  0, 695, 340
  445.          DB   42h                   ; draw a line (XOR)
  446.          DW    15,  0, 685, 340
  447.          DB   42h                   ; draw a line (XOR)
  448.          DW    25,  0, 675, 340
  449.          DB   42h                   ; draw a line (XOR)
  450.          DW    35,  0, 665, 340
  451.          DB   42h                   ; draw a line (XOR)
  452.          DW    45,  0, 655, 340
  453.          DB   42h                   ; draw a line (XOR)
  454.          DW    55,  0, 645, 340
  455.          DB   42h                   ; draw a line (XOR)
  456.          DW    65,  0, 635, 340
  457.          DB   42h                   ; draw a line (XOR)
  458.          DW    75,  0, 625, 340
  459.          DB   42h                   ; draw a line (XOR)
  460.          DW    85,  0, 615, 340
  461.          DB   42h                   ; draw a line (XOR)
  462.          DW    95,  0, 605, 340
  463.  
  464.          DB   42h                   ; draw a line (XOR)
  465.          DW   105,  0, 595, 340
  466.          DB   42h                   ; draw a line (XOR)
  467.          DW   115,  0, 585, 340
  468.          DB   42h                   ; draw a line (XOR)
  469.          DW   125,  0, 575, 340
  470.          DB   42h                   ; draw a line (XOR)
  471.          DW   135,  0, 565, 340
  472.          DB   42h                   ; draw a line (XOR)
  473.          DW   145,  0, 555, 340
  474.          DB   42h                   ; draw a line (XOR)
  475.          DW   155,  0, 545, 340
  476.          DB   42h                   ; draw a line (XOR)
  477.          DW   165,  0, 535, 340
  478.          DB   42h                   ; draw a line (XOR)
  479.          DW   175,  0, 525, 340
  480.          DB   42h                   ; draw a line (XOR)
  481.          DW   185,  0, 515, 340
  482.          DB   42h                   ; draw a line (XOR)
  483.          DW   195,  0, 505, 340
  484.  
  485.          DB   42h                   ; draw a line (XOR)
  486.          DW   205,  0, 495, 340
  487.          DB   42h                   ; draw a line (XOR)
  488.          DW   215,  0, 485, 340
  489.          DB   42h                   ; draw a line (XOR)
  490.          DW   225,  0, 475, 340
  491.          DB   42h                   ; draw a line (XOR)
  492.          DW   235,  0, 465, 340
  493.          DB   42h                   ; draw a line (XOR)
  494.          DW   245,  0, 455, 340
  495.          DB   42h                   ; draw a line (XOR)
  496.          DW   255,  0, 445, 340
  497.          DB   42h                   ; draw a line (XOR)
  498.          DW   265,  0, 435, 340
  499.          DB   42h                   ; draw a line (XOR)
  500.          DW   275,  0, 425, 340
  501.          DB   42h                   ; draw a line (XOR)
  502.          DW   285,  0, 415, 340
  503.          DB   42h                   ; draw a line (XOR)
  504.          DW   295,  0, 405, 340
  505.  
  506.          DB   42h                   ; draw a line (XOR)
  507.          DW   305,  0, 395, 340
  508.          DB   42h                   ; draw a line (XOR)
  509.          DW   315,  0, 385, 340
  510.          DB   42h                   ; draw a line (XOR)
  511.          DW   325,  0, 375, 340
  512.          DB   42h                   ; draw a line (XOR)
  513.          DW   335,  0, 365, 340
  514.          DB   42h                   ; draw a line (XOR)
  515.          DW   345,  0, 355, 340
  516.          DB   42h                   ; draw a line (XOR)
  517.          DW   355,  0, 345, 340
  518.          DB   42h                   ; draw a line (XOR)
  519.          DW   365,  0, 335, 340
  520.          DB   42h                   ; draw a line (XOR)
  521.          DW   375,  0, 325, 340
  522.          DB   42h                   ; draw a line (XOR)
  523.          DW   385,  0, 315, 340
  524.          DB   42h                   ; draw a line (XOR)
  525.          DW   395,  0, 305, 340
  526.  
  527.          DB   42h                   ; draw a line (XOR)
  528.          DW   405,  0, 295, 340
  529.          DB   42h                   ; draw a line (XOR)
  530.          DW   415,  0, 285, 340
  531.          DB   42h                   ; draw a line (XOR)
  532.          DW   425,  0, 275, 340
  533.          DB   42h                   ; draw a line (XOR)
  534.          DW   435,  0, 265, 340
  535.          DB   42h                   ; draw a line (XOR)
  536.          DW   445,  0, 255, 340
  537.          DB   42h                   ; draw a line (XOR)
  538.          DW   455,  0, 245, 340
  539.          DB   42h                   ; draw a line (XOR)
  540.          DW   465,  0, 235, 340
  541.          DB   42h                   ; draw a line (XOR)
  542.          DW   475,  0, 225, 340
  543.          DB   42h                   ; draw a line (XOR)
  544.          DW   485,  0, 215, 340
  545.          DB   42h                   ; draw a line (XOR)
  546.          DW   495,  0, 205, 340
  547.  
  548.          DB   42h                   ; draw a line (XOR)
  549.          DW   505,  0, 195, 340
  550.          DB   42h                   ; draw a line (XOR)
  551.          DW   515,  0, 185, 340
  552.          DB   42h                   ; draw a line (XOR)
  553.          DW   525,  0, 175, 340
  554.          DB   42h                   ; draw a line (XOR)
  555.          DW   535,  0, 165, 340
  556.          DB   42h                   ; draw a line (XOR)
  557.          DW   545,  0, 155, 340
  558.          DB   42h                   ; draw a line (XOR)
  559.          DW   555,  0, 145, 340
  560.          DB   42h                   ; draw a line (XOR)
  561.          DW   565,  0, 135, 340
  562.          DB   42h                   ; draw a line (XOR)
  563.          DW   575,  0, 125, 340
  564.          DB   42h                   ; draw a line (XOR)
  565.          DW   585,  0, 115, 340
  566.          DB   42h                   ; draw a line (XOR)
  567.          DW   595,  0, 105, 340
  568.  
  569.          DB   42h                   ; draw a line (XOR)
  570.          DW   605,  0,  95, 340
  571.          DB   42h                   ; draw a line (XOR)
  572.          DW   615,  0,  85, 340
  573.          DB   42h                   ; draw a line (XOR)
  574.          DW   625,  0,  75, 340
  575.          DB   42h                   ; draw a line (XOR)
  576.          DW   635,  0,  65, 340
  577.          DB   42h                   ; draw a line (XOR)
  578.          DW   645,  0,  55, 340
  579.          DB   42h                   ; draw a line (XOR)
  580.          DW   655,  0,  45, 340
  581.          DB   42h                   ; draw a line (XOR)
  582.          DW   665,  0,  35, 340
  583.          DB   42h                   ; draw a line (XOR)
  584.          DW   675,  0,  25, 340
  585.          DB   42h                   ; draw a line (XOR)
  586.          DW   685,  0,  15, 340
  587.          DB   42h                   ; draw a line (XOR)
  588.          DW   695,  0,   5, 340
  589.  
  590.          DB   00                    ; end interupt code
  591.  
  592. Reset    DB   20h                   ; text on (page 0)
  593.  
  594.          DB   70h                   ; fill the given buffer with...
  595.          DB   32, 7                 ; spaces with normal attributes
  596.  
  597.          DB   00                    ; end interupt code
  598.  
  599. CSEG     ENDS
  600.          END START
  601.          END
  602.