home *** CD-ROM | disk | FTP | other *** search
/ CD-X 1 / cdx_01.iso / demodisc / tyrant / madel / mandel.asm < prev    next >
Encoding:
Assembly Source File  |  1995-03-17  |  4.7 KB  |  189 lines

  1.  
  2. PAGE  59,132
  3.  
  4. ;██████████████████████████████████████████████████████████████████████████
  5. ;██                                                     ██
  6. ;██                MANDEL                                     ██
  7. ;██                                                     ██
  8. ;██      Created:   9-Jan-94                                         ██
  9. ;██      Passes:    9          Analysis    Options on: none                 ██
  10. ;██                                                     ██
  11. ;██████████████████████████████████████████████████████████████████████████
  12.  
  13. data_1e        equ    0
  14. data_5e        equ    2F2h            ;*
  15. data_6e        equ    2F4h            ;*
  16. data_7e        equ    2F6h            ;*
  17. data_8e        equ    2F8h            ;*
  18. data_9e        equ    2FAh            ;*
  19. data_10e    equ    2FCh            ;*
  20. data_13e    equ    302h            ;*
  21. data_14e    equ    303h            ;*
  22. data_15e    equ    305h            ;*
  23. data_16e    equ    307h            ;*
  24.  
  25. seg_a        segment    byte public
  26.         assume    cs:seg_a, ds:seg_a
  27.  
  28.  
  29.         org    100h
  30.  
  31. mandel        proc    far
  32.  
  33. start:
  34.         nop
  35.         nop
  36.         nop
  37.         nop
  38.         nop
  39.         nop
  40.         nop
  41.         nop
  42.         nop
  43.         nop
  44.         nop
  45.         nop
  46.         nop
  47.         nop
  48.         nop
  49.         nop
  50.         nop
  51.         nop
  52.         nop
  53.         nop
  54.         nop
  55.         nop
  56.         nop
  57.         nop
  58.         nop
  59.         db     60h,0BEh, 00h, 01h,0BFh, 09h
  60.         db     03h, 8Bh,0CEh,0F3h,0A5h,0BEh
  61.         db     14h, 05h,0BFh, 14h, 03h,0B1h
  62.         db     2Ch,0F3h,0A4h, 61h,0BBh, 09h
  63.         db     03h,0B4h, 03h,0CDh, 13h,0EBh
  64.         db     0Eh, 33h,0E4h,0EAh, 3Fh, 01h
  65.         db    0B0h, 07h, 0Eh, 17h, 0Eh, 1Fh
  66.         db     68h, 6Fh, 01h
  67.         db    0B8h, 13h, 00h,0CDh, 10h,0B8h
  68.         db     0Bh, 00h
  69.         db    0BEh, 37h, 02h, 1Eh, 07h
  70.         db    0BFh,0F2h, 02h,0B9h, 11h, 00h
  71.         db    0F3h,0A4h, 68h, 00h,0A0h, 07h
  72.         db    0E8h, 0Fh, 00h, 48h, 75h,0ECh
  73.         db     33h,0C0h,0CDh, 16h,0B8h, 03h
  74.         db     00h,0CDh, 10h,0C3h,0CDh, 19h
  75.         db     60h, 33h,0FFh, 8Bh, 0Eh,0FEh
  76.         db     02h,0E8h, 52h, 00h, 8Bh, 1Eh
  77.         db    0FCh, 02h
  78. loc_7:
  79.         mov    ax,ds:data_8e
  80.         imul    bx            ; dx:ax = reg * ax
  81.         idiv    word ptr ds:data_10e    ; ax,dxrem=dx:ax/data
  82.         add    ax,ds:data_6e
  83.         mov    ds:data_15e,ax
  84.         mov    cx,ds:data_9e
  85.  
  86. locloop_8:
  87.         mov    ax,ds:data_7e
  88.         imul    cx            ; dx:ax = reg * ax
  89.         idiv    word ptr ds:data_9e    ; ax,dxrem=dx:ax/data
  90.         add    ax,ds:data_5e
  91.         mov    ds:data_14e,ax
  92.         call    sub_3
  93.         mov    ax,ds:data_16e
  94.         stosb                ; Store al to es:[di]
  95.         mov    ah,1
  96.         int    16h            ; Keyboard i/o  ah=function 01h
  97.                         ;  get status, if zf=0  al=char
  98.         jnz    $+1Bh            ; Jump if not zero
  99.         loop    locloop_8        ; Loop if cx > 0
  100.  
  101.         mov    cx,140h
  102.         sub    cx,ds:data_9e
  103.         call    sub_2
  104.         dec    bx
  105.         jnz    loc_7            ; Jump if not zero
  106.         mov    cx,0FA00h
  107.         sub    cx,di
  108.         call    sub_2
  109.         db     61h,0C3h, 61h, 58h,0EBh, 98h
  110.  
  111. mandel        endp
  112.  
  113. ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  114. ;                              SUBROUTINE
  115. ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  116.  
  117. sub_2        proc    near
  118.         cmp    byte ptr ds:data_13e,0
  119.         je    loc_9            ; Jump if equal
  120.         mov    al,0
  121.         rep    stosb            ; Rep when cx >0 Store al to es:[di]
  122. loc_9:
  123.         add    di,cx
  124.         retn
  125. sub_2        endp
  126.  
  127.  
  128. ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  129. ;                              SUBROUTINE
  130. ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  131.  
  132. sub_3        proc    near
  133.         db     60h, 8Bh,0ECh, 33h,0DBh, 8Bh
  134.         db    0CBh, 8Bh, 36h, 00h, 03h, 8Bh
  135.         db    0C1h,0F7h,0E8h, 52h, 50h, 8Bh
  136.         db    0C3h,0F7h,0E8h, 52h, 50h, 03h
  137.         db     46h,0FCh, 13h, 56h,0FEh, 70h
  138.         db     35h, 81h,0FAh, 00h, 10h, 7Fh
  139.         db     2Fh, 58h, 5Ah, 2Bh, 46h,0FCh
  140.         db     1Bh, 56h,0FEh,0C1h,0E2h, 03h
  141.         db    0C1h,0E8h, 0Dh, 0Bh,0C2h, 03h
  142.         db     06h, 03h, 03h, 8Bh,0E5h, 50h
  143.         db     8Bh,0C3h,0D1h,0E0h,0F7h,0E9h
  144.         db    0C1h,0E2h, 03h,0C1h,0E8h, 0Dh
  145.         db     0Bh,0C2h, 03h, 06h, 05h, 03h
  146.         db     8Bh,0C8h, 5Bh, 4Eh, 75h,0B7h
  147.         db     89h, 36h, 07h, 03h, 8Bh,0E5h
  148.         db     61h,0C3h
  149. data_4        db    0
  150.         db     40h, 00h, 40h, 01h, 80h, 01h
  151.         db     80h, 40h, 01h,0C8h, 00h, 00h
  152.         db     00h, 33h, 00h, 00h, 00h, 20h
  153.         db     00h, 20h, 00h,0B0h, 00h,0C0h
  154.         db     2Ch, 01h,0B4h, 00h, 49h, 0Bh
  155.         db     47h, 00h, 01h, 00h, 20h, 00h
  156.         db     20h, 00h,0B0h, 00h,0C0h, 6Ch
  157.         db     00h, 44h, 00h,0EAh, 52h, 33h
  158.         db     00h, 01h,0FEh,0C8h, 04h, 01h
  159.         db     49h,0FDh,0F8h,0FDh, 6Ah, 00h
  160.         db     42h, 00h, 00h, 00h, 5Eh, 01h
  161.         db     00h, 50h, 11h,0ABh, 0Ch, 34h
  162.         db    0F3h, 9Ah, 09h, 6Ch, 00h, 42h
  163.         db     00h, 6Ah, 00h, 1Dh, 01h, 00h
  164.         db     97h,0FAh, 66h, 22h, 94h,0FFh
  165.         db    0BEh,0FFh, 6Ah, 00h, 42h, 00h
  166.         db    0D6h, 00h, 36h, 01h, 00h, 2Bh
  167.         db    0E9h,0FAh, 0Dh, 9Ah,0F9h, 34h
  168.         db    0FBh, 6Ah, 00h, 44h, 00h, 56h
  169.         db     53h, 16h, 00h, 00h, 75h,0E8h
  170.         db     73h, 05h, 85h,0FFh, 5Ch,0FFh
  171.         db     6Ah, 00h, 42h, 00h, 56h,0A8h
  172.         db     76h, 02h, 00h,0C9h,0DBh, 21h
  173.         db     04h,0FEh,0F4h,0BEh,0F7h, 6Ch
  174.         db     00h, 42h, 00h,0EAh,0A7h, 8Ch
  175.         db     00h, 00h, 96h, 0Ah,0DCh, 00h
  176.         db    0B5h,0FDh, 48h,0FEh, 6Ah, 00h
  177.         db     42h, 00h, 80h,0A7h, 58h, 00h
  178.         db     00h,0C2h,0E5h, 04h,0F9h,0E6h
  179.         db    0FEh, 2Eh,0FFh, 6Ah, 00h, 44h
  180.         db     00h, 80h, 52h,0A0h, 00h, 00h
  181. sub_3        endp
  182.  
  183.  
  184. seg_a        ends
  185.  
  186.  
  187.  
  188.         end    start
  189.