home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 09_10 / tricks / grafdemo.asm < prev    next >
Encoding:
Assembly Source File  |  1991-06-11  |  2.5 KB  |  109 lines

  1. ;* ------------------------------------------------------- *
  2. ;*                     GRAFDEMO.ASM                        *
  3. ;*   Grafikdemo in Assembler, das die Einbindung           *
  4. ;*   der Turbo Pascal 3.0 Grafikbibliothek demonstriert.   *
  5. ;*           (c) 1991 Ralph Seelig & TOOLBOX               *
  6. ;* ------------------------------------------------------- *
  7. include tp3gr.mac
  8.  
  9. .model small
  10. .stack 800h
  11. .data
  12.  
  13.   meld     db 'toolbox presents:$'
  14.   meld2    db 'Grafik in Assembler$'
  15.   meld3    db 'Bitte Taste druecken ...$'
  16.   muster   db 81h,7Eh,42h,42h,42h,42h,7Eh,81h
  17.  
  18. .code
  19.   extrn graph : near
  20.  
  21. include tp3gr.inc
  22.  
  23. anfang:
  24.   mov   ax,dgroup
  25.   mov   ds,ax
  26.  
  27.   tp3   GraphColorMode
  28.   tp3_1 Palette,2
  29.   mov   si,offset meld
  30.   mov   dx,0101h
  31.   mov   bl,03
  32.   call  write      ; an 1,1 MELD ausgeben
  33.   mov   si,offset meld2
  34.   inc   dh
  35.   mov   bl,2
  36.   call  write      ; an 1,2 MELD2 ausgeben
  37.   mov   si,offset meld3
  38.   mov   dh,25
  39.   mov   bl,1
  40.   call  write      ; an 1,25 MELD3 ausgeben
  41.  
  42.   tp3_4 circle 160,100,50,3
  43.   tp3_4 fillshape 160,100,2,3
  44.   tp3_4 circle 137,83,7,0
  45.   tp3_4 fillshape 137,83,3,0
  46.   tp3_4 circle 183,83,7,0
  47.   tp3_4 fillshape 183,83,3,0
  48.   tp3_5 arc 150,110,28,60,3
  49.   tp3_5 draw 150,110,170,113,3
  50.   tp3_5 draw 132,121,160,125,1
  51.   tp3_5 draw 160,125,188,121,1
  52.  
  53.   mov   ah,08h
  54.   int   21h        ; auf Taste warten
  55.   tp3   clearscreen
  56.   xor   cx,cx
  57. grschl2:
  58.   mov   ax,160
  59.   xor   bx,bx
  60.   mov   dx,199
  61.   mov   si,3       ; Farbe 3
  62.   push  cx         ; Zähler retten
  63.   pushreg          ; Parameter auf Stack
  64.   push  si
  65.   tp3   draw
  66.   pop   cx         ; Zähler holen
  67.   add   cx,10      ; Zähler erhöhen
  68.   cmp   cx,320
  69.   jb    grschl2
  70.   xor   cx,cx
  71. grschl1:
  72.   mov   ax,160
  73.   mov   bx,199
  74.   xor   dx,dx
  75.   mov   si,2       ; Farbe 2
  76.   push  cx         ; Zähler retten
  77.   pushreg          ; Parameter auf Stack legen
  78.   push  si
  79.   tp3   draw
  80.   pop   cx         ; Zähler holen
  81.   add   cx,10      ; Zähler erhöhen
  82.   cmp   cx,320
  83.   jb    grschl1
  84.  
  85.   tp3_5 draw 0,0,319,0,1
  86.   tp3_5 draw 0,199,319,199,1
  87.   tp3_5 draw 0,0,0,199,1
  88.   tp3_5 draw 319,0,319,199,1
  89.   tp3_4 circle,160,100,50,1
  90.   tp3_4 FillShape,160,100,1,1
  91.   tp3_4 circle,160,100,50,2
  92.   tp3_4 FillShape,160,100,0,2
  93.   mov   ax,offset muster
  94.   pushadr
  95.   tp3   Pattern
  96.   tp3_5 FillPattern,130,70,190,130,1
  97.  
  98.   mov   ah,08h
  99.   int   21h
  100.   mov   ax,03h
  101.   int   10h
  102.   mov   ah,4ch
  103.   int   21h
  104.  
  105. end anfang
  106. ;* ------------------------------------------------------- *
  107. ;*                Ende von GRAFDEMO.ASM                    *
  108.  
  109.