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

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


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

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

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

Выпуск № 318
от 19.12.2005, 08:45

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


Вопрос № 31390: Здравствуйте господа эксперты!!! Я в очень сложной ситуации и поэтому обращаюсь именно к вам!!! Скажите пожалуйста кто-нибудь работал с вирусамичервями и подобным софтом??? Если да то может поделитесь своими работами для изучения и дальнейшего р...
Вопрос № 31402: Здравствуйте уважаемые эксперты... Вот закончил читать первые 10 глав учебника "Ассамблер? Это просто!", и хочу сказать что он мне очень нравиться (я имею в виду учебник... хотя и автор тоже - но только как преподователь :)) т.к. матери...
Вопрос № 31416: Добрый день эксперты. У меня ВинХп. Надо написать резидентную программу, которая при нажатие например кнопки ентер сохронила экран и при нажатие другой клавиши выводила сохроненный вид. В приложении программа каторая выводит на первую страницу видеоа...
Вопрос № 31430: Здравсвуйте уважаемые эксперты. У меня такой вопрос: как на ассемблере вычислять тригонометрические и показательные функции? cos,sin,ln,lg и т.д....

Вопрос № 31.390
Здравствуйте господа эксперты!!!
Я в очень сложной ситуации и поэтому обращаюсь именно к вам!!! Скажите пожалуйста кто-нибудь работал с вирусамичервями и подобным софтом??? Если да то может поделитесь своими работами для изучения и дальнейшего работы??? У меня тема курсового такая, поэтому нужны как раз наработки не просто взятые из инета. Все выше перечисленное нужно под Win98-XP.
Буду бесконечно благодарен любой помощи!!! Заранее спасибо.
Отправлен: 13.12.2005, 13:36
Вопрос задал: Rams (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sager
Здравствуйте, Rams!
Я раньше немного занимался написанием вирей, но к сожалению наработак не осталось(masm32 находился на диске С и все мои исходники и проги были там, а потом винда полетела и все исчезло:( - теперь все храню на другом диске).
Но могу посоветовать тебе хорошие статьи по написанию вирусов:
http://thepoc.exploiterz.org/ (цикл статей называется от зеленого к красному - все очень хорошо и подробно описано, можешь др. статьи почитать на этом же сайте)
wasm.ru - раздел вирусов
http://www.xakep.ru/magazine/xa/077/116/1.asp
http://www.xakep.ru/magazine/xa/076/112/1.asp
http://www.xakep.ru/magazine/xa/078/104/1.asp
http://www.xakep.ru/magazine/xa/079/108/1.asp
http://www.xakep.ru/magazine/xa/080/120/1.asp
http://www.xakep.ru/magazine/xa/082/114/1.asp
http://www.xakep.ru/magazine/xa/082/120/1.asp
Ответ отправил: Sager (статус: Студент)
Отправлен: 14.12.2005, 20:00
Оценка за ответ: 5


Вопрос № 31.402
Здравствуйте уважаемые эксперты... Вот закончил читать первые 10 глав учебника "Ассамблер? Это просто!",
и хочу сказать что он мне очень нравиться (я имею в виду учебник... хотя и автор тоже - но только как преподователь :)) т.к. материал излагается последовательно и доступно (даже такому "начинающему" как я), но... (ИМХО) вот чего в нем не хватает, так это каких-нибудь задачек, которые бы дополняли каждую главу
Отсюда моя просьба не могли бы вы мне подкинуть каких-нибудь простеньких задачек... дабы мне закрепить пройденый материал...
Вот что я уже знаю...
Шестнадцатеричную систему счисления;

Двоичную систему счисления;

Некоторые регистры микропроцессоров Intel 8086/8088/80186;

Основы сегментации памяти в DOS;

Операторы Ассемблера:

org (с какого места отсчитывать смещение)

mov (загрузка данных в регистр или память)

add (сложение)

sub (вычитание)

inc (увеличение на единицу)

dec (уменьшение на еденицу)

int (вызов прерывания)

jmp (безусловный переход)

call (вызов подпрограммы)

push (втолкнуть в стек число)

pop (достать из стека число)

cmp (стравнение)

jnz (Jump if Not Zero) переход если cx не равно 0

jz (Jump if Zero - переход если флаг нуля установлен)

je (jump if Equal - переход, если равно. je=jz)

jc (Jump if Carry) переход если установлен флаг переноса

jnc (Jump if Not Carry) переход если флаг переноса не установлен

Функцию 09h прерывания 21h (вывод строки на экран в текущую позицию курсора);

Функция 3dh прерывания 21h (открытие файла)

Функция 3eh прерывания 21h (закрытие файла)

Функция 3fh прерывания 21h (чтение файла)

Функция 40h прерывания 21h (запись файла)

Функцию 10h прерывания 16h (ожидание нажатия клавиши).
Отправлен: 13.12.2005, 18:12
Вопрос задал: Goff (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Железняков Виктор Михайлович!
По сути, самого главного ты и не знаешь - как создавать программы. А это узнаётся только на практике. Можешь игру написать, например.
---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 13.12.2005, 20:08

Отвечает: Sager
Здравствуйте, Железняков Виктор Михайлович!
Лучше взяться за какой-нибудь большой проект, разбить его на куски и выполнять по кусочкам. Например, текстовый редактор или оболочку.
Ну а так, вот несколько простых задачек:
1)Вычисли ряд Фибонначи(например, первые 12 чисел) и запиши результат в файл.
2)Прочитай файл и подсчитай, сколько в нем слов - результат запиши в другой файл.
3)попробуй прочитать слово из файла и зашифровать его с помощью операции xor(ключ выбери любой, например 123)
пример: есть слово understand, берешь первую букву и делаешь u xor 1, затем берешь вторую букву n xor 2, d xor 3, e xor 1 итд... - результат запиши в файл.
4)Напиши расшифровщик к пред. задаче
5)Вычисли функцию y= 2*x*x+5*a - 2*b - 5(x,a,b, - любые числа)
6)Напиши программу, решающую квадратное уравнение. Числа a,b,c - берешь из файла, затем проверяешь числа и дескриминант на ноль, например если D<0 или a=0, b=0, c=любое число - тогда выводишь сообщение "нет действительных корней", иначе считаешь и выводишь корни.
7) напиши программу типа пакмэн. Выводишь простую рожицу и с помощью стрелок перемещаешься, также можешь сделать мины и сердечки - если пакмэн на них встанет, то если враг - умрет, если сердечко - жизней на одну станет больше ну тд.
Ответ отправил: Sager (статус: Студент)
Отправлен: 14.12.2005, 15:18
Оценка за ответ: 5
Комментарий оценки:
Конкретный ответ на конкретный вопрос... спасибо


Вопрос № 31.416
Добрый день эксперты. У меня ВинХп. Надо написать резидентную программу, которая при нажатие например кнопки ентер сохронила экран и при нажатие другой клавиши выводила сохроненный вид. В приложении программа каторая выводит на первую страницу видеоадаптера некий символ (для меня все правильно написано), но при записке в эмуляторе после нажатия f5 начинается в столбик выводится @, при нажатие f6 выводит в строку ^Z. Что я не так делаю?
Очен был бы благодарен, если бы кто привел рабочую программу по выводу на экран при нажатие какой нибудь клавиши какой нибудь символ (так как в университет надо, а то даже к экзамену не дапустять). Жду ответов:)

Приложение:

Отправлен: 13.12.2005, 21:55
Вопрос задал: OlegMA (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Стас
Здравствуйте, OlegMA!
Всем лень... :) лады, я отвечу:
во первых вызывать из обработчика Int9 int16 категорически не советую. Это примерно как на скорости 100 км в час менять колесо у машины...

int9 вызывается в момент когда клавиша нажата и ты должен прочитать код из 60h порта. читай про скан коды. 128 добавляется к коду если клавиша отпущена.

прочитал сравнил и в зависимости от результата сравнения либо сохраняешь экран (b800:0 размером 80колонок на 25строк на 2байта на символ (собственно символ и цвет) ) у себя в буффере, либо восстанавливаешь его от туда.

методов много. вот набросал быстренько, по старым разработкам... там у меня были понавороченнее. либо гасили экран вообще. либо выходили из графики в текст и подставляли картинку какого либо текстового редактора(прятали игрушки от босса), и выгружались корректно... вообщем чуть подчистил оставил только то что тебе надо.

Приложение:

Ответ отправил: Стас (статус: Специалист)
Отправлен: 17.12.2005, 02:45


Вопрос № 31.430
Здравсвуйте уважаемые эксперты. У меня такой вопрос: как на ассемблере вычислять тригонометрические и показательные функции? cos,sin,ln,lg и т.д.
Отправлен: 14.12.2005, 08:41
Вопрос задал: Дмитрий Сергеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Евгений Иванов
Здравствуйте, Дмитрий Сергеевич!
Для этого используй математический процессор.
Имеются команды FSIN, FCOS. Работать с м.п. очень просто.

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


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

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

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

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

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


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


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

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

В избранное