Зацените код :)

Тема в разделе "WASM.A&O", создана пользователем k0k0s, 26 сен 2006.

  1. k0k0s

    k0k0s New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    28
    Случайно нарвался нас сайт одного е-бургского математика,
    http://neves.suncloud.ru/

    Так автор сам отзывается о своей программе:

    А вот и сам код:

    Код (Text):
    1. mov al, 13h
    2.     int 10h     ; Set video mode
    3.     push    0A000h  ; Video Buf Segment
    4.     pop ds
    5.     mov si, 128 ; Y = 128
    6. Row:    mov di, -321    ; X = -321
    7.     dec si      ; Y = Y - 1
    8. Col:    inc di      ; X = X + 1
    9.     je  Row
    10.     mov cl, 46      ; Цвет
    11. Calc:   mov bp, dx      ; Re
    12.     add bp, ax      ; Re + Im
    13.     sub dx, ax      ; Re - Im
    14.     imul    bp, dx      ; Re = (Re + Im) (Re - Im)
    15.     jo  Paint
    16.     add dx, ax      ; Re
    17.     imul    dx      ; Im = Re * Im
    18.     sar ax, 5       ; Im = Im/32
    19.     sar bp, 6       ; Re = Re/64
    20.     adc ax, si      ; Im = Im + Y
    21.     lea dx, [bp+di+127] ; Re = Re + X - 127
    22.     loop    Calc
    23. Paint:  xchg    [bx], cl    ; Put Pixel & clear cx
    24.     imul    cx          ; (dx, ax) = 0
    25.     inc bx      ; Next Pixel
    26.     jne Col
    27.     int 16h     ; Wait
    28.     aad 232         ; ax = 3 after ESC
    29.     int 10h     ; Set video mode
    30.     ret
    По моему, действительно неплохой результат.
    Только ли сам он до этого дошел...
     
  2. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
    Код ниже я точно видел в каком-то компьютерном (русском) журнале за 1997 год. Вроде это был конкурс на минимальную прогу:

    Код (Text):
    1. ; Фрактал Мандельбротта
    2. ; size = 64 bytes
    3. text segment byte public 'code'
    4.      org 100h
    5.      assume cs:text,ds:text
    6. start: mov   al,19
    7.        int   10h
    8.    db  104,0,160
    9.        pop   ds
    10.        shr   si,1
    11. Rou:   mov   di,-321
    12.        dec   si
    13. Col:   inc   di
    14.        je    Rou
    15.        sub   bp,bp
    16.        mov   cl,123
    17. Calc:  lea   bp,[bp+di+127]
    18.        add   ax,si
    19.        push  ax
    20.        imul  bp
    21.   db   193,248,5
    22.        inc   ax
    23.        pop   dx
    24.   db   15,175,237
    25.   db   15,175,210
    26.        jb    Paint
    27.        sub   bp,dx
    28.   db   193,253,6
    29.        loop  Calc
    30. Paint: mov   [bx],cl
    31.        sub   ax,ax
    32.        inc   bx
    33.        jne   Col
    34.        int   16h
    35.        mov   ax,3
    36.        int   10h
    37.        ret
    38. Text ends
    39.        end start