Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 194
от 23.07.2005, 20:00

Администратор:Калашников О.А.
В рассылке:Подписчиков: 254, Экспертов: 13
В номере:Вопросов: 2, Ответов: 4


Вопрос № 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

Отвечает: Евгений Иванов
Здравствуйте, MASS!

Call SetTimer, ebx, 1, 1000*60, 0
MsgTimer:
mov eax, [wparam]
cmp eax, 1
jnz @@next_timer

Call MessageBox, .......


---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 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

dec12:
add al,48
cmp al,48
jnz dec22
or bx,bx
jnz dec32
mov al,32
jmp dec32

dec22:
inc bx
dec32:
mov [di],al
inc di
mov ax,dx
ret
endp

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 18.07.2005, 21:59


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться
Вспомнить пароль

В избранное