Вопрос № 23641: Приветствую!
1. подскажите алгоритм проги(резидента), которая бы после запуска 1 раз в минуту выводила MessageBox с сообщением. Сообщение должно братся случайным образом из нескольких заранее заложенных.
2. где можна накачать сырцов вирусов, ...Вопрос № 23680: Вопрос:
При выполнении программы и получения ее результатов,
программа возвращает различные десятичные числа.
Например: программа в результате своего выполнения выдавала числа 123,
12,4,36 и т.д.
Мне нужна такая процедура, которая...
Вопрос № 23.641
Приветствую!
1. подскажите алгоритм проги(резидента), которая бы после запуска 1 раз в минуту выводила MessageBox с сообщением. Сообщение должно братся случайным образом из нескольких заранее заложенных.
2. где можна накачать сырцов вирусов, просто для ознакомления с приемами, которые там используются?
3. покажите простой пример ГСЧ.
4. Где можна прочитать по-русски о макросах в MASM32?
Отправлен: 17.07.2005, 23:24
Вопрос задал: MASS (статус: Посетитель)
Всего ответов отправлено: 1
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 17.07.2005, 23:32
Вопрос № 23.680
Вопрос:
При выполнении программы и получения ее результатов,
программа возвращает различные десятичные числа.
Например: программа в результате своего выполнения выдавала числа 123,
12,4,36 и т.д.
Мне нужна такая процедура, которая выводит
эти числа на экран в ASCII.
т.е. если число 123, тогда делит на 100, прибавляет 30h
выводит 1 + 30h, что эквивалентно 31h = 1(ascii),
т.е. если в результате программа выдала число 123,
то нужно с помощью процедуры его вывести на экран,
но нужно учесть, что программа может вывести 1234, 23 и т.д
Как это сделать?
Отправлен: 18.07.2005, 18:56
Вопрос задал: Терсков Алексей Николаевич (статус: Посетитель)
Всего ответов отправлено: 3
Отвечает: DSota
Здравствуйте, Терсков Алексей Николаевич!
Я понял так, что нужно выводить числа с запятой на конце и они могут иметь разную длину...
Приложение:
--------- Открыть глаза навстречу солнцу.
Ответ отправил: DSota (статус: Практикант)
Отправлен: 18.07.2005, 19:12
Отвечает: Ayl
Здравствуйте, Терсков Алексей Николаевич!
Ну ты чего, издеваешься, что ли?
Отвечая на твой вопрос №23425 от 13 июля, я приводил код процедуры, выводящий на экран десятичное представление числа, находящегося в регистре DX. Чем он тебя не устраивает.
Единственное его ограничение - числа не могут быть больше 65536.
Если ты ее немного модифицируешь, то сможешь распечатывать числа от 0 до 655369 (больше не получится из-за переполнения в 16-разрядных командах: 655369 / 10 = 65536 (остаток 9)). Если же использовать 32-хразрядные регистры, то ты сможешь реализовать вывод чисел от 0 до (2^32-1)*10+9.
--------- Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего требуется немного больше времени
Ответ отправил: Ayl (статус: Профессор)
Отправлен: 18.07.2005, 19:22
Отвечает: Евгений Иванов
Здравствуйте, Терсков Алексей Николаевич! проверки нужно делать на порядок.
;Заносит в память по адресу DI число в AX,десятичное proc PrintDecToMem pusha sub bx,bx
mov cx, 10000 cmp ax, cx jc @@m1 sub dx,dx div cx call dec12 @@m1: mov cx, 1000 cmp ax, cx jc @@m2 sub dx,dx div cx call dec12 @@m2 mov cx, 100 cmp ax, cx jc @@m3 sub dx,dx div cx call dec12 @@m3: mov cx, 10 cmp ax, cx jc @@m4
sub dx,dx div cx call dec12 @@m4: inc bx call dec12 popa ret