Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приколы на ASM, сорцы нужны 
:(
    Опции темы
Ruterian
Дата 2.12.2004, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 9.1.2004
Где: Вязьма, Минск

Репутация: нет
Всего: нет



Ни у кого нет исходников различных приколов, типа осыпающихся букв, итд, какие встречались в старых ДОС-вирусах??? Приму в подарок, или поменяю на свои наработки.
На вопрос "а почему я сам не выдеру все это из вирей" - отвечаю: мне некогда заниматься анализом чужого кода, дизасмом и отладкой. А за спрос, как говорится, не бьют smile
PM MAIL WWW ICQ   Вверх
Akina
Дата 2.12.2004, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Код

cseg            segment
               assume  cs:cseg,ds:cseg
               org     100h
falling_letters:
               jmp start

fall            proc    near
               mov     ax,0B800h
               push    ax
               push    ax
               pop     ds
               pop     es
more:
               xor     dx,dx
               xor     bx,bx
               xor     cx,cx
next:
               call    calc_si
               mov     di,si
               mov     al,20h
               mov     ah,[di]
               cmp     al,ah
               je      nomove
               add     di,0A0h
               mov     ah,[di]
               cmp     al,ah
               je      move
               cmp     cx,0
               je      noleft
               dec     di
               dec     di
               mov     ah,[di]
               cmp     al,ah
               je      move
noleft:
               add     di,4
               cmp     cx,9Eh
               je      nomove
               mov     ah,[di]
               cmp     al,ah
               je      move
nomove:
               add     cx,2
               cmp     cx,0A0h
               jne     next
               xor     cx,cx
               inc     bx
               cmp     bx,18h
               jne     next
               cmp     dx,0
               jne     more
               ret
move:
               movsb
               cld
               mov     di,si
               dec     di
               stosb
               inc     dx
               jmp     nomove
data1           dw      0
fall            endp

tsr             proc    far
               inc     data1
               cmp     data1,100h
tick:
               jb      nofall
               mov     data1,0
               push    ax
               push    bx
               push    cx
               push    di
               push    ds
               push    dx
               push    es
               push    si
 mov ah,0Fh
 int 10h
 and al,0FEh
 cmp al,2
 jne badvideomode
 cmp bh,0
 jne badvideopage
               call    fall
badvideomode:
badvideopage:
               pop     si
               pop     es
               pop     dx
               pop     ds
               pop     di
               pop     cx
               pop     bx
               pop     ax
nofall:
               db      0EAh
data2           dw      0
data3           dw      0
tsr             endp

calc_si         proc    near
               mov     ax,0A0h
               mul     bl
               add     ax,cx
               push    ax
               pop     si
               push    cx
               mov     cx,10h
locloop:
               loop    locloop
               pop     cx
               ret
calc_si         endp

start           proc    near
               mov     si,81h
loc1:
               cld
               lodsb
loc2:
               cmp     al,3Fh
               je      help
               cmp     al,0Dh
               je      install
               cmp     al,2Dh
               jne     loc1
               lodsb
               mov     ah,al
               and     ah,0DFh
               cmp     ah,54h
               je      ticks
               cmp     ah,44h
               jne     loc2
               call    asknum
               push    bp
               inc     cx
               lea     bp,locloop
               mov     [bp-2],cx
               pop     bp
               jmp     loc2
ticks:
               call    asknum
               push    bp
               lea     bp,tick
               mov     [bp-2],dx
               pop     bp
               jmp     loc2
install:
               cli
               mov     ax,351Ch
               int     21h
               mov     data2,bx
               mov     data3,es
               call    find
               lea     dx,tsr
               push    cs
               pop     ds
               mov     ax,251Ch
               int     21h
               lea     dx,start
               sti
               int     27h
help:
               lea     dx,message
               mov     ah,9
               int     21h
norm_ret:
               mov     ax,4C00h
               int     21h
start           endp

asknum          proc    near
               xor     cx,cx
loc3:
               cld
               lodsb
               cmp     al,30h
               jb      done
               cmp     al,39h
               ja      done
               sub     al,30h
               xor     ah,ah
               push    ax
               mov     ax,0Ah
               mul     cx
               mov     cx,ax
               pop     ax
               add     cx,ax
               cmp     dx,0
               jne     default
               mov     dx,cx
               jmp     loc3
default:
               mov     cx,10h
               mov     dx,100h
done:
               cmp     cx,100h
               jb      done1
               mov     cx,100h
done1:
               cmp     dx,40h
               ja      done2
               mov     dx,40h
done2:
               ret
asknum          endp

find            proc    near
               push    cs
               pop     cx
               dec     cx
findloop:
               mov     es,cx
               mov     si,100h
nextfind:
               cld
               lodsb
               mov     ah,al
               push    ds
               push es
 pop ds
               dec     si
               lodsb
               cmp     ah,al
               jne     not_find
               cmp     si,160h
 pop ds
               jne     nextfind
               mov     si,100h
               mov     di,si
               lea     cx,start
               sub     cx,100h
               cli
               cld
               rep     movsb
               sti
               jmp     norm_ret
not_find:
               pop     ds
               loop    findloop
               ret
find            endp

message  db 0Dh,0Ah
        db      'Usage:   FALL [-dXXX] [-tXXXXX] [?]'
               db      0Dh,0Ah,0Dh,0Ah
               db      '-dXXX   - the number of empty loops (effected on falling rate)'
               db      0Dh,0Ah
               db      '-tXXXXX - the number of timer ticks (1/18s) between two fallings'
               db      0Dh,0Ah
               db      ' ?      - this help'
               db      0Dh,0Ah,0Dh,0Ah
               db      'Defaults:   -d16 -t256'
               db      0Dh,0Ah
               db      'Ranges:     -d0..255  -t64..65535'
               db      0Dh,0Ah,24h
cseg            ends
               end     falling_letters

Собирать в СОМ-файл.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Ruterian
Дата 2.12.2004, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 9.1.2004
Где: Вязьма, Минск

Репутация: нет
Всего: нет



Спасибо.
PM MAIL WWW ICQ   Вверх
Chingachguk
Дата 4.12.2004, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Я балдею от этого:

Код

.286
text segment byte public
assume cs:text,ds:text
org 100h
begin:  
 ; Переход в графический режим
       mov     al,13h
       int     10h      

; ES = DS = A000 (видеопамять VGA)
       push    0A000h
       pop     es
       push    es
       pop     ds

       lodsb               ; обнуление AL
       mov     dx,3C8h     ; 3C8/3C9 - палитра VGA
       out     dx,al       ; Цвет N0 = ...
       inc     dx
       mov     cl,40h

SetPalette:
       out     dx, al      ; компонента RED
       inc     ax
                           ; градиент от черного к красному
       outsb               ; в порт 3C9 помещается ноль
       outsb               ;(компоненты GREEN и BLUE)
       loop    SetPalette

DrawStar:
       mov     ax,3F3Fh    ; Первоначальный цвет (красный!)
       mov     bx, 140h
       mov     di, 540h
       push    di          ; push адрес угла (примочки для сокращения размера)
       mov     cl,78h
Line1:                     ; Рисование первой линии звезды
       stosw              ; поместим ax в es:[di]
       add     di,bx
       loop    Line1      ; Рисуем...
       pop     di         ; pop адрес угла
       mov     cl, 60h
Line2:                       ; 2-я линия
       mov     [bx+di],al
       stosb
       add     di,bx
       add     di,bx
       loop    Line2

       mov     cl,61h  
Line3:                       ; 3-я линия
       mov     [bx+di],al
       stosb                          
       sub     di,bx
       sub     di,bx
       loop    Line3

       mov     di, 99D1h
       push    di
       mov     cl,78h                  
Line4:                       ; 4-я линия
       stosw  
       sub     di,bx
       loop    Line4

       pop     di
       mov     cl,8Fh
Line5:  
       rep  stosw           ; Последняя линия (горизонтальная)

Burn:                        ; Рисование "огонька" на основе        
                            ; центрального пиксела
                            ; SI = адрес точки
       cmp     si, 0FA00h   ; Если не конец видеопамяти
       jae     short Done
       lodsb
       or      al,al        ; и байт ds:[si] не равен 0
       jz      short Done   ; то....
       dec     ax
       mov     [si-2],al
                            ; Цвет окружающих пикселов
       mov     [si],al      ; вычисляются из цвета
       mov     [bx+si-1],al ; центрального минус
                            ; один.
       mov     ds:0FEBFh[si],al
Done:
       add     si,dx        ; dx = какой-то хуйне, это типа
       inc     dx           ; подобие RANDOM
       jnz     Burn  
                      ; Переход к следующему огоньку
                      ;(если не дошли до конца)
       in      al,60h      ; Сканирование нажатой клавиши
       cmp     al,1        ; код равен единице?
       jne     DrawStar
                      ; Нет? Jump в начало.                
       mov     ax,3
       int     10h  
                      ; Возврат в текстовый режим
       retn               ; Выход

text ends
end begin



--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Ruterian
Дата 16.12.2004, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 9.1.2004
Где: Вязьма, Минск

Репутация: нет
Всего: нет



Chingachguk
Круто!!!
PM MAIL WWW ICQ   Вверх
Chingachguk
Дата 18.12.2004, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Вот и мне нравится. Это написали ребята из той группы, которая издавала журнал Инфектед войс.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Ruterian
Дата 18.12.2004, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 9.1.2004
Где: Вязьма, Минск

Репутация: нет
Всего: нет



Chingachguk
> Это написали ребята из той группы, которая издавала журнал Инфектед войс.

А что сейчас о них слышно? Группа развалилась совсем? Последний раз читал их в 2002-м, на форуме в немецкой части Сети, да и то, снесли его довольно быстро smile
PM MAIL WWW ICQ   Вверх
Chingachguk
Дата 18.12.2004, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Не знаю, я сам давно ничего не слышал про них. Сайт LovinGod'а вроде по прежнему работает, сам он как-то заходил к нам на wasm.ru с год-полтора назад.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.