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

Ассемблер? Это просто! Учимся программировать


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 677
от 08.02.2007, 14:05

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


Вопрос № 73852: Здравствуйте. Скажите пожалуйста, как можно заказать по почте книгу "Ассемблер - это просто!". Я живу в Казахстане. Оплатить вэб-деньгами не могу. Спасибо...
Вопрос № 73887: Уважаемые эксперты. Помогите написать программу на АСМ (prog.exe) что бы винда XP при ее выполнении вываливалась в синий экран. спасибо...
Вопрос № 73896: Здравствуйте. Помогите ответить на следующие вопросы. 1)Напишите программу которая умножает содержимое пары регистров DX:AX на 2. Измените программу для: А) умножения на 4 Б) деления на 4 В) умножения 48 бит в регистрах DX:AX...

Вопрос № 73.852
Здравствуйте. Скажите пожалуйста, как можно заказать по почте книгу "Ассемблер - это просто!". Я живу в Казахстане. Оплатить вэб-деньгами не могу. Спасибо
Отправлен: 03.02.2007, 05:51
Вопрос задал: Forster (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: P@lach
Здравствуйте, Forster!

Вы можете заказать наложенным платежом можно по адресу:
http://books.e-goods.ru/product_info.php?item=679&pid=41390

Во всяком случае я ее видел там сегодня!

Извеняюсь если несколько раз отправил Вам это письмо.
Ответ отправил: P@lach (статус: 1-ый класс)
Ответ отправлен: 03.02.2007, 08:28


Вопрос № 73.887
Уважаемые эксперты.
Помогите написать программу на АСМ (prog.exe) что бы винда XP при ее выполнении вываливалась в синий экран.
спасибо
Отправлен: 03.02.2007, 12:32
Вопрос задал: Olmel (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ASMодей
Здравствуйте, Olmel!
А вы в курсе, что написание подобных программ - это уголовное преступление?(ст.273 УК РФ)
Ответ отправил: ASMодей (статус: Профессионал)
Россия, Магнитогорск
----
Ответ отправлен: 03.02.2007, 19:07
Оценка за ответ: 1
Комментарий оценки:
тогда надо пересажать половину программистов которые пишут кривые
драйвера,а вы если не имеете возможности или знаний не хватает, то цитируйте УК в прокуратуре

Отвечает: ramok
Здравствуйте, Olmel!

поиск в google.com.ua по запросу "bsod xp asm пример"
вот например
http://www.wasm.ru/forum/viewtopic.php?pid=155285

ps
вызов BSOD это обычно первый учебный пример для начинающих драйверо-писателей под винду
Ответ отправил: ramok (статус: Студент)
Ответ отправлен: 04.02.2007, 07:21
Оценка за ответ: 4
Комментарий оценки:
Спасибо. Посмотрим.

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Olmel!
почитай статью по ссылке:

http://www.wasm.ru/article.php?article=drvw2k03
автора:
http://www.wasm.ru/author.php?author=Four-F

и еще почитай:
Крис Касперски-Техника отладки программ без исходных кодов.
в 5-ой главе росписано, что такое плохо и как с ним боротся

Удачи!
Ответ отправил: Зенченко Константин Николаевич (статус: 2-ой класс)
Ответ отправлен: 05.02.2007, 16:33
Оценка за ответ: 4
Комментарий оценки:
Если б ссылочку на Криса, 5 бы поставил.


Вопрос № 73.896
Здравствуйте.
Помогите ответить на следующие вопросы.

1)Напишите программу которая умножает содержимое пары регистров DX:AX на 2. Измените программу для:
А) умножения на 4
Б) деления на 4
В) умножения 48 бит в регистрах DX:AX:BX на 2

2) Закодируйте два макроопределения для умножения:
А) MULTBY должна генерировать код для умножения байта на байт
Б)) MULTDW должна генерировать код для умножения слова на слово.

3) Предположим что программа MAINPRO должна вызывать подпрограмму SUBPRO:
а) какая директива в программе MAINPRO указывает ассемблеру что имя SUBPRO определено вне её собственного кода
б) какая директива в программе SUBPRO необходима для того чтобы имя точки входа было доступно в основной программе MAINPRO

4) Предположим что в программе MAINPRO определены переменные QTY как DB VALUE как DW и PRICE DW. Программа SUBPRO должна разделить VALUE на QTY и записать частное в PRICE.
А) каким образом программа MAINPRO указывает ассемблеру что три переменные должны быть доступны другим программам.
Б) каким образом программа SUBPRO указывает ассемблеру что три переменные определены в другом модуле.

5) Измените программу из предыдущего вопроса так чтобы программа MAINPRO передавала все три переменные как параметры. Подпрограмма SUBPRO должна возвращать результат через параметр.
Отправлен: 03.02.2007, 13:13
Вопрос задал: Алексей Береев (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Алексей Береев!
1)
последовательность в таблице:8087,80186,80286/87,80386/87,80486,p5,p6
mul r8=70..77,26..28,13,9..14,13..18,11np,1m
mul r16=118..133,35..37,21,9..22,13..26,11np,3m
div r8=80..90,29,14,14,16,17np,3m
div r16=144..162,38,22,22,24,25np,4m
shl r,1=2,2,2,3,3,1pu,1m
rcl r,1=2,2,2,9,3,1pu,1m
где:
числа в таблице обозначают, сколько тактов процессор поратит на выполнение команд.
значения указанные для команды SHL справедливы и для команд:ROL,ROR,SAL,SAR,SHR.
значения указанные для команды RCL справедливы и для команды:RCR.
для Р5 np-невозвожность одновременного выполнения в процессоре
pu-возможность выполнения в U-ковейере процессорa
для Р6 m -колличество микроопераций на которое декодируется команда.
из таблицы видно, что команды сдвига работают намного быстрее чем умножения и деления
сдвиг регистра в влево равносильно умножению на 2, и наоброт вправо равносильно делению на 2.
посмотри вопрос 72117
2)
multby macro one,two
mov al,one
mul two
endm
multdw macro one,two
mov ax,one
mul two
вызов:
multdw cx,bx
multdw datax,datay
multdw cx,datay
multdw datax,bx
хотя можно использовать только один макрос multdw.
разница между ними только в том какой размер(8/16) будет в момент компиляции в парметре two, такая команда и будет подставлена в исполняемый файл.
3-4)
Директива: public язык метка
можно обьявлять имена процедур, переменные и константы, которые будут доступны другим модулям
где язык необязательный параметр мoжет принимать значения(C,FORTRAN,PASCAL,BASIC,SYSCALL,STDCALL)
public subpro; в модуле subpro
Директива: extrn язык метка:тип
описывает метку(имена процедур, переменные и константы) которые определены в других модулях с помощью public.
язык значение такое как и у public.
тип должен соответствовать типу метки в том модуле где она определена(BYTE, WORD, DWORD, FWORD, QWORD, TBYTE, ИМЯ СТРУКТУРЫ, FAR, NEAR,ABS)
ABS используется для констант определенных дерективой EQU.
extrn subpro:near; в модуле mainpro
Директива: global язык метка:тип
эта директива действует как extrn и public одновременно
в модуле mainpro как extrn
в модуле subpro как public
Есть еще одна директива: comm рсстояние язык метка:тип
эта директива описывает общие переменные которые будут доступны из всех модулей метка:тип обязательные параметры, необязательный параметр расстояние (NEAR, FAR) ближний, дальний для ближнего используется только смещение для дальнего еще и сегмент. некоторые компиляторы ее не знают.
5)
парметры в процедуру можно передавать используя переменные в памяти, регистры или стек,
из процедуры можно передавать используя переменные в памяти или регистры.
Ответ отправил: Зенченко Константин Николаевич (статус: 2-ой класс)
Ответ отправлен: 05.02.2007, 15:45


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

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

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

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

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


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


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

В избранное