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

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


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

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

Выпуск № 418
от 16.11.2002, 21:10

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1835
Отправлено ответов: 5728
Активность: 312.1 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

masquer
Статус: Профессиональный
Общий рейтинг: 152.29
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 119.79
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 126.81
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 155.19
[Подробней >>]
Supra
Статус: Опытный
Общий рейтинг: 118.33
[Подробней >>]
Maverick
Статус: Опытный
Общий рейтинг: 136.79
URL: Задачи по ассемблеру
Телефон: 89039415024 (BiLine GSM)
[Подробней >>]
 
LIFO
Статус: Профессиональный
Общий рейтинг: 127.95
URL: наш сайт
Телефон: 8 01710 24758
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 117.83
URL: Мой сайтик...
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 123.05
URL: Страничка рассылки по Паскаля...
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
 
Eugene
Статус: Опытный
Общий рейтинг: 112.24
URL: мощный файловый архив
[Подробней >>]
Andrew Vext
Статус: Начальный
Общий рейтинг: 111.82
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 117.33
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 130.12
URL: моя рассылка по Protected Mode
[Подробней >>]
DiGiT[old]
Статус: Опытный
Общий рейтинг: 107.48
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1771. Здравствуйте Уважаемые эксперты!!! Большое спасибо Вам за помощь нерадивым программерам, типа меня! ... (ответов: 4)
Вопрос № 1772. Привет всем !!! У меня очень не сложный вопрос, а звучит он так: У кого есть все выпуски "Ассем... (ответов: 6)
Вопрос № 1773. Привет эксперты помогите решить такую пробллему: Masm не идет под винды пишет ошибку: DOSXNT: fatal ... (ответов: 5)
Вопрос № 1774. Здравствуйте эксперты. 1)Что такое прямой код? 2)Что такое обратный код? ---------------------------... (ответов: 2)
Вопрос № 1775. Епс:)) дошло до меня... . И почему до меня доходит только после отправки вопроса:))? По поводу прямо... (ответов: 5)
Вопрос № 1776. Доброе время суток Dark_Lord! Вчера я Вам пытался отправить письмо на @Land.ru, но Ваш ящик не был д... (ответов: 1)
Вопрос № 1777. Хелло эксперты! Терзает один вопрос, как в приложении под дос загрузить/выгрузить драйвер устройства... (ответов: 3)
Вопрос № 1778. Здравствуйте ув. эксперты ! Я уже задавал вопрос и не получил ни одного ответа :) вопрос такой : мн... (ответов: 3)
Вопрос № 1779. Здравствуйте! Скажите пожалуйста, по какому адресу в памяти хранится таблица символов ДОС. И сколько... (ответов: 2)
Вопрос № 1780. Здравствуйте Maverick. Спешу сообщить,что я, наконец, нашел свою ошибку. Была она- в кабеле,через ко... (ответов: 1)
Вопрос № 1781. Здравствуйте Эксперты ! Эти вопросы относятся к следующим данным. DATAX DW 0148H DW 2316H DATA... (ответов: 4)
Вопрос № 1782. Привет всем! Господа, есть у кого нибудь тексты заданий лабораторок какого-нибудь курса по асму (воз... (ответов: 2)

Вопросов: 12, ответов: 38


 Вопрос № 1771

Здравствуйте Уважаемые эксперты!!!
Большое спасибо Вам за помощь нерадивым программерам, типа меня!
Подскажите какими WinAPI функциями можно читать и изменять EXE-заголовок,
вернее я знаю какими - ReadFile, WriteFile, но что-то моя прога вообще не может
ничего прочитать в чем дело? Я программить толком не умею, наведите на путь истинный :)
Если не лень вышлите исходник с комментариями, демонстрирующий
технологию заражения EXE(разумеется только для ознакомления).
Заранее благодарен.


Приложение:


Вопрос отправлен: 11.11.2002, 23:00
Отправитель: Anton

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Доброе время суток, Anton!
Естественно, ничего работать не будет. Ладно,
1. Для функции ReadFile нужен хендл открытого файла с атрибутом GENERIC_READ, для этого вызываешь функцию CreateFile.
2. Дальше после отработки хендл файла нужно закрыть, пользуем CloseHandle.
3. Для того чтобы все по маске работало "*.ехе" нужна связка функций FindFirstFile...FindNextFile, в конце FindClose. Эти функции (исходя из названия, хотя бы) будут искать файлы по маске и возвращая их путь, после этого переходи к пункту 1.

Ответ отправлен: 12.11.2002, 11:16
Отправитель: masquer


Отвечает ASMодей

Доброе время суток, Anton!
Если толком программить не умеешь, то вряд ли стоит начинать
с изменения заголовка EXE файла да и еще для Windows!
Для начала неплохо было бы прочитать какую-нибудь книгу, где
написано, что прежде чем читать из файла, его нужно открыть.


Ответ отправлен: 12.11.2002, 19:06
Отправитель: ASMодей


Отвечает Dark_Lord

Приветствую Вас, Anton!
Во-первых надо открыть файл функцией CreateFile, во-вторых надо использовать имя файла, а не "*.ехе"

Ответ отправлен: 13.11.2002, 18:36
Отправитель: Dark_Lord


Отвечает Bob Johnson

Здравствуйте, Anton!
1. Функция ReadFile первым параметром воспринимает HANDLE файла, а не его имя!!! Handle получается вызовом функции CreateFile, вот которой ты передаешь одним из параметров указатель на имя файла.
2. Никак ты файл типа "*.exe" не откроешь! Потому что это неконкретное имя файла - под него может подходить сразу несколько файлов, в то время как открыть ты можешь одной функцией только один файл. Тебе надо просмотреть каталог в поиске *.exe файлов и потом поочереди их открывать. Вначале попробуй задать имя файла жестко. Потом уже смотри каталог - функции FindFirstFile и FindNextFile.
3. Не пытайся открыть и изменить файл своей программы (ровно как и любой другой запущенной программы) - не получится, т.к. этот файл уже открыт.


Ответ отправлен: 12.11.2002, 14:53
Отправитель: Bob Johnson


 Вопрос № 1772

Привет всем !!!
У меня очень не сложный вопрос, а звучит он так:
У кого есть все выпуски "Ассемьлер ? Это просто !!!"
То я здесь зашел на сайтик http://asm.kalashnikoff.ru и скачал все выпуски + приложения, и что вы думаете я там увидел ? Конечно выпуски с 1 по 32. Но когда я начел читать их то заметил, что они выходили, выходят и будут выходить
(наверное :) ) почти каждую неделю !!!
Подсчитав я понял, что сейчас должен выходить выпуск приблизительно №160.
Кстати, пока не забыл !!!
Я подписан на рассылку "INTEL в защещенном режиме" и у меня огромна просьба, кто сможет скиньте мне на мыло все выпуски
"Ассемьлер ? Это просто !!!" и "INTEL в защещенном режиме" !
Да, еще бы я хотел с кемто познакомится в поддержке по программированию на АСМ'Е! (Если есть люди знакомые с
ZX-SPECTRUM, то здесь я мастер, а вот на PC хочу научиться!) Т.к. Ассемблер - это RULEZZZZZ!!!
Зарание благодарен ! С уважением Игорь.



Вопрос отправлен: 12.11.2002, 00:37
Отправитель: Игорь (PEACECODER@ukr.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Добрый день, Игорь!
Смотри на subscribe.ru

Ответ отправлен: 15.11.2002, 17:00
Отправитель: Supra


Отвечает Maverick

Приветствую Вас, Игорь!
"Ассемблер-это просто", для дос их и так 32 выпуска, дальше пошли под windows, но их всего штук 9. Они в архиве subscribe есть. По PM там тоже есть.
Если не найдешь, мыль- вышлю.
Maverick@nightmail.ru


Ответ отправлен: 12.11.2002, 04:46
Отправитель: Maverick


Отвечает LIFO

Приветствую Вас, Игорь!
1. "Ассемьлер ? Это просто !!!" уже не выходит, только рассылка под винды.
2. Заходишь в базу подписки, выбираешь нужную тебе рассылку(на кот. ты подписан )и увидишь там ссылку на архив этой рассылки.


Ответ отправлен: 13.11.2002, 21:59
Отправитель: LIFO


Отвечает Bob Johnson

Здравствуйте, Игорь!
Я тоже давно заморачивался на спектруме... Если ты выучил АСМ от Z-80 (и научился писать реальные программы), то выучить АСМ от 80х86 будет несложно. Так что удачи!
Если что - пиши: bobjohn@newmail.ru


Ответ отправлен: 12.11.2002, 14:53
Отправитель: Bob Johnson


Отвечает Portnov

Приветствую Вас, Игорь!
Рассылка про ассемблер под дос закончилась на выпуске #32, там больше нечего рассказывать (почти). Сейчас выходит аналогичная рассылка про винду (точнее, продолжение той рассылки, только нумерация выпусков пошла с начала), она дошла пока до #9, т.к. у авторов нет времени на нее. Все выпуски рассылки (и про защ. режим тоже) AFAIK можно закачать на Subscribe.ru (см. ссылки про "архив рассылки").
С уважением, Portnov.

Ответ отправлен: 12.11.2002, 16:44
Отправитель: Portnov


Отвечает Sensey

Здравствуйте, Игорь!
Немного добавлю. Ты мог спутать с этой рассылкой. То есть с
"RusFAQ.ru: программирование на языке Assembler"
А эти выпуски я могу те выслать в формате базы Оутлука - *.dbx
23 метра :) - зато все 414 выпусков...


Ответ отправлен: 12.11.2002, 16:53
Отправитель: Sensey


 Вопрос № 1773

Привет эксперты помогите решить такую пробллему: Masm не идет под винды пишет ошибку:
DOSXNT: fatal error DX1140: DOSXNT.386 required to run with Windows
DOSXNT: fatal error DX1230: DOSXNT.386 initilization failed



Вопрос отправлен: 12.11.2002, 07:38
Отправитель: Cas (vscas@pochtamt.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Приветствую Вас, Cas!
Он создан для ДОС.

Ответ отправлен: 15.11.2002, 17:01
Отправитель: Supra


Отвечает LIFO

Доброе время суток, Cas!
А masm и не пойдет под винды, потому что он создан под ДОС, а под винды идет masm32, вот он у тебя и пишет, что ,мол, прога под винды, а ты мне ее пихаешь , и сразу отрубается(вторая строка initilization failed)


Ответ отправлен: 13.11.2002, 21:49
Отправитель: LIFO


Отвечает LIFO

Доброе время суток, Cas!
А masm и не пойдет под винды, потому что он создан под ДОС, а под винды идет masm32, вот он у тебя и пишет, что ,мол, прога под винды, а ты мне ее пихаешь , и сразу отрубается(вторая строка initilization failed)


Ответ отправлен: 13.11.2002, 21:49
Отправитель: LIFO


Отвечает Dark_Lord

Здравствуйте, Cas!
На сколько я вижу это масм для доса и WinNT

Ответ отправлен: 13.11.2002, 18:37
Отправитель: Dark_Lord


Отвечает masquer

Добрый день, Cas!
Какой масм, что компилируешь?

Ответ отправлен: 12.11.2002, 11:17
Отправитель: masquer


 Вопрос № 1774

Здравствуйте эксперты.
1)Что такое прямой код?
2)Что такое обратный код?
---------------------------------------------------------



Вопрос отправлен: 12.11.2002, 10:26
Отправитель: kuper

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Здравствуйте, kuper!
Рад, что понял. Правда не знаю, что ты понял.

Ответ отправлен: 15.11.2002, 17:03
Отправитель: Supra


Отвечает Bob Johnson

Доброе время суток, kuper!
Способы представления отрицательных чисел в двоичном виде. Прямой код - всегда хранится положительный модуль числа и отдельно (в отдельном разряде) - знак числа.
Обратный код - положительные числа храняться как обычно, а отрицательные вот так:
-1 = 1111...11110b
-2 = 1111...11101b
-3 = 1111...11100b
и так далее. Отсюда видно, что в обратном коде существует еще и число -0 = 11111...1111b.
Вот, если ничего не напутал, то так.


Ответ отправлен: 13.11.2002, 21:42
Отправитель: Bob Johnson


 Вопрос № 1775

Епс:)) дошло до меня... .
И почему до меня доходит только после отправки вопроса:))?
По поводу прямого и обратного кода..., это "перевернутое"
представление данных МП "младший по младшему адресу".
Вроде бы это и есть прямой и обратный код.



Вопрос отправлен: 12.11.2002, 10:53
Отправитель: kuper

[Следующий вопрос >>] [Список вопросов]

Отвечает Dark_Lord

Приветствую Вас, kuper!
При перевёрнутом(Intel) слово 1000 лежит в памяти как два байта 00 и 10, при прямом тоже слово будет 10 и 00, тоесть наоборот!

Ответ отправлен: 13.11.2002, 18:39
Отправитель: Dark_Lord


Отвечает Bob Johnson

Приветствую Вас, kuper!
Если ты имеешь ввиду способ хранения многоразрядных чисел в памяти, то это ничего не имеет общего с прямым и обратным кодом. Intel в своих МП придерживается правила хранения младшего байта по меньшему адресу.


Ответ отправлен: 13.11.2002, 21:42
Отправитель: Bob Johnson


Отвечает Eugene

Доброе время суток, kuper!
Неправильно. Прямой и обратный коды это способы представления отрицательных чисел в компах. Если я не ошибаюсь на x86 компах используют дополнительные коды. Отличаются они совсем мелочью. Посмотрим как они образуются на примере.
Например возьмём положительное число 0011b. Тогда обратный код будет инвертированием всех битов: 1100b; а дополнительный будет равен обратному + 1 = 1101b. Теперь сложим их оба с исходным числом:
1)обр. код: 0011b + 1100b = 1111b - как видно, чтобы получился 0 (-3 + 3 = 0), надо добавить 1 - 1111b + 0001b = 1.0000
1 откидывается, получается 0.
2)доп. код: 0011b + 1101b = 1.0000b, здесь уже получается 0, поэтому ничего не надо делать.

Ответ отправлен: 12.11.2002, 12:29
Отправитель: Eugene


Отвечает Andrew Vext

Приветствую Вас, kuper!
Вроде бы нет. То, про что вы пишете - это little-endian и big-endian. А прямой и обратный код - это способ представления отрицательных чисел. Прямой код - когда старший разряд отводится под знак (0 - плюс 1 - минус), то есть +1 = 00000001 а -1 = 10000001. Обратный код - это когда отрицательное число является инверсией положительного (при этом старший разряд опять представляет знак 0 плюс и 1 минус) - +1 = 00000001 а -1 = 11111110. Есть еще и дополнительный код :-)

Ответ отправлен: 12.11.2002, 13:20
Отправитель: Andrew Vext


Отвечает Maverick

Добрый день, kuper!
Угу, у меня такое тоже бывает, только с ответами. :)
Блин, ну когда можно будет дополнения отправлять?


Ответ отправлен: 12.11.2002, 15:20
Отправитель: Maverick


 Вопрос № 1776

Доброе время суток Dark_Lord!
Вчера я Вам пытался отправить письмо на @Land.ru, но Ваш ящик не был доступен. Я Вам выслал письмо на kam2000@mail.digitel2002.hu. Пожалуста, если Вас не затруднит, прочтите его пожалуста.
Заранее благодарю.
Рифат.



Вопрос отправлен: 12.11.2002, 11:13
Отправитель: Рфат (abriofh@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Dark_Lord

Приветствую Вас, Рфат!
К сожалению тот ящик тоже вряд ли доступен, используйте Dark_Lord@RusFAQ.ru или kam2000@vnet.hu

Ответ отправлен: 13.11.2002, 18:40
Отправитель: Dark_Lord


 Вопрос № 1777

Хелло эксперты!
Терзает один вопрос, как в приложении под дос загрузить/выгрузить драйвер устройства прямо из моей программы. Это вообще реально?
Т.е. что требуется: запускается моё приложение, в нём я выбираю что мне надо загрузить, загружаются выбранные драйвера и выход из проги.
Хотя возможен вариант: 1) загружается прога 2) создаются новые переменные окружения типа %DRV1%, %DRV2% и т.п. а в автоэксеке разбираются. Тока возникают вопросы - как создать переменные окружения и возможно ли из батника (а не из конфиг.суса) загрузить драйвер устройства?
Пасиб зараннее...



Вопрос отправлен: 12.11.2002, 13:14
Отправитель: Priest

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, Priest!
Ты имеешь ввиду драйвера устройств под ДОС? Это зависит от того, могут ли они так загружаться.
Я помню, что creative (эта сраная фирма, которая выпускает недоделанные Live 5.1, которые (или драйвера которых) глючат - хотя устройство само по себе неплохое и качество тоже весьма, но вот только бы решили проблему с драйверами). Ну так вот, я помню, что creative для предыдущего моего SB - это был SB AWE 32 для чего-то там выпустила утилитку, кажется ctload, которая позволяла загружать драйвера в любое время (т.е. не только из config.sys) - но грузила не все. Поищи ее и она решит все твои проблемы. Имя файла, кажется - ctload.exe.


Ответ отправлен: 13.11.2002, 21:42
Отправитель: Bob Johnson


Отвечает Supra

Добрый день, Priest!
Это нерешаемая проблема. Но я читал что какие-то драйверы
загружать возможно, надо знать формат.

Ответ отправлен: 15.11.2002, 17:05
Отправитель: Supra


Отвечает Ayl

Здравствуйте, Priest!
Боюсь, что это невозможно... Потому что драйвера грузятся только в момент непосредственной загрузки операционной системы. Можно, конечно, попробовать поиграть с внутренними структурыми DOS'а... Но у меня большие сомнения, что получится что-нибудь приличное.
Другой вариант - это создание обычного резидента с предоставлением соответствующих сервисов для обслуживания устройства, но минцс в том, что DOS не будет иметь никакого понятия о том, что этот сервис из себя представляет. Т.е. его использование ляжет непосредственно на программиста, который будет писать соответствующую программу. Естественно, с нормальным драйвером это не будет иметь ничего общего, даже с точки зрения вызова.


Ответ отправлен: 12.11.2002, 14:12
Отправитель: Ayl


 Вопрос № 1778

Здравствуйте ув. эксперты !
Я уже задавал вопрос и не получил ни одного ответа :)
вопрос такой :
мне нужно сделать/найти программу под win9x ,которая бы при попытке что-либ
распечатать на принтере запрашивала пароль , не подскажете есть ли такая или
как это можно реализовать .
заранее спасибо !



Вопрос отправлен: 12.11.2002, 13:50
Отправитель: Volodia

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Добрый день, Volodia!
Перехвати вызов печати, затем выведи окошко,забери строку
окна, сравни и все.

Ответ отправлен: 15.11.2002, 17:08
Отправитель: Supra


Отвечает masquer

Приветствую Вас, Volodia!
Попробую _только_ посоветовать, т.е. я так думаю есть как минимум 2 варианта, какой из них лучше/проще решать тебе:
1. Стандартный диалог печати. Можно отслеживать его вызов, для этого перехватывать соответствующую функцию внутри comdlg32.dll - самый простой путь. Не сработает, если у программы собственный вариант такого диалога.
2. Писать драйвер обращения к порту принтера.

Ответ отправлен: 12.11.2002, 15:06
Отправитель: masquer


Отвечает Maverick

Доброе время суток, Volodia!
В досе нужно перехватить соответствующее прерывание, а в винде API функцию.
Как это сделать в досе, я могу рассказать, а вот под виндой спроси у других экспертов.


Ответ отправлен: 12.11.2002, 15:20
Отправитель: Maverick


 Вопрос № 1779

Здравствуйте!
Скажите пожалуйста, по какому адресу в памяти хранится
таблица символов ДОС. И сколько байт описывают один символ?
Спасибо.



Вопрос отправлен: 12.11.2002, 16:20
Отправитель: Jendos (buriakove@inpred.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает ASMодей

Доброе время суток, Jendos!
Если имеется в виду таблица формирования внешнего вида символов,
то вектор прерывания INT 43h указывает на эту таблицу (для EGA/VGA).
А количество байт на один символ находится по адресу 0000:0485h.


Ответ отправлен: 12.11.2002, 19:07
Отправитель: ASMодей


Отвечает Andrew Vext

Добрый день, Jendos!
Уточнили бы, что вы понимаете под таблицей символов DOS? Если это знакогенератор - то он хранится в видеопамяти.

Ответ отправлен: 12.11.2002, 17:03
Отправитель: Andrew Vext


 Вопрос № 1780

Здравствуйте Maverick.
Спешу сообщить,что я, наконец, нашел свою ошибку. Была она- в кабеле,через который я тестировал порт. Благодаря ей- разобрался в том, что оставлял на потом. Что касается моей программы, то она была написана для теста и я подставлял в регистр AL разные значения. Кстати, касаемо твоего програмного кода: после посылки данных в порт и последующем считывании, считывание происходит из буфера порта. И (если порт не используется для ввода) будет соответствовать выводимому. А наличие нужного байта в буфере порта, само по себе не означает присутствия того же байта на выходных линиях интерфейса (в моем случае причина уже известна).
Спасибо за участие. Андрей.



Вопрос отправлен: 12.11.2002, 19:15
Отправитель: Андрей

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Доброе время суток, Андрей!
Да, спасибо что указал на мою ошибку, хотел как лучше, а получилось как всегда :)
Извиняюсь.


Ответ отправлен: 13.11.2002, 05:10
Отправитель: Maverick


 Вопрос № 1781

Здравствуйте Эксперты !
Эти вопросы относятся к следующим данным.
DATAX DW 0148H
DW 2316H
DATAY DW 0237H
DW 4052H
1.Как сложить слова DATAx со словом DATAY
2.Как сложить двойное слово, начинающее по адресу DATAX, с двойным словом в DATAY.
3.Как разделить слова DATAX на 23
4.Как разделить двойное слово, начинающее по адресу DATAX,на слово DATAY.
5.Как умножить слова DATAx со словом DATAY
6.Как умножить двойное слово, начинающее по адресу DATAX, на слово DATAY.
7.Какой делитель кроме 0, вызывет ошибку переволнения

P.s. Программа под DOS



Вопрос отправлен: 12.11.2002, 20:06
Отправитель: Саша

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Добрый день, Саша!
1.
mov ax, datax
add ax, datay
2.
mov eax, dword ptr datax
add eax, dword ptr datay
Дальше уже написали... :)

Ответ отправлен: 13.11.2002, 12:10
Отправитель: masquer


Отвечает Supra

Доброе время суток, Саша!
Как и обычно, загрузить в регистры. add,sub,mul,imul.

Ответ отправлен: 15.11.2002, 17:10
Отправитель: Supra


Отвечает Broken Sword

Добрый день, Саша!
Блин, давно уже не отвечал на такие глупые вопросы:
1. mov AX, word ptr DATAX
mov BX, word ptr DATAY
add AX, BX
2. mov EAX, dword ptr DATAX
mov EBX, dword ptr DATAY
add EAX, EBX
3. mov AX, word ptr DATAX
mov BL, 23
div BL
4. mov AX, word ptr DATAX+2
mov DX, word ptr DATAX
mov BX, word ptr DATAY
div BX
5. mov EAX, dword ptr DATAX
mov EBX, dword ptr DATAY
mul EBX
6. mov AX, word ptr DATAX
mov BX, word ptr DATAY
mul BX
7. Любой, который в результате даст произведение, не влазящее в соотв. рамки (что также зависит от операнда)
Точно также - антипереполнение может возникнуть, если частное окажется очень маленьким числом (0,..............)

Ответ отправлен: 12.11.2002, 22:03
Отправитель: Broken Sword


Отвечает Bob Johnson

Добрый день, Саша!
Программа под ДОС? Тогда так.
1:
mov ax, [DataX]
add ax, [DataY]
ax = сумма
2:
.386
mov eax, dword ptr [DataX]
add eax, dword ptr [DataY]
eax = сумма
3:
mov ax, [DataX]
mov bx, 23
xor dx, dx
div bx
ax = частное
4:
.386
mov eax, dword ptr [DataX]
xor edx, edx
div dword ptr [DataY]
eax = частное
5:
mov ax, [DataX]
mul [DataY]
6:
.386
mov eax, dword ptr [DataX]
mul dword ptr [DataY]
7:
Любой, если (dx:ax)/(делитель) больше 65535 или (edx:eax)/(делитель) больше (2^32 - 1).


Ответ отправлен: 13.11.2002, 21:43
Отправитель: Bob Johnson


 Вопрос № 1782

Привет всем!
Господа, есть у кого нибудь тексты заданий лабораторок какого-нибудь курса по асму (возможно ВУЗа где вы его изучали)? Кому не в лом, закиньте по почте.

Спасибо.
P.S.
Это так, чтобы систематизированно подойти к изучению.



Вопрос отправлен: 12.11.2002, 20:13
Отправитель: Алексей (p-alex@udm.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Добрый день, Алексей!
Есть решенные лабораторки (т.е. асм файлы) но без заданий. Надо?


Ответ отправлен: 13.11.2002, 21:43
Отправитель: Bob Johnson


Отвечает DiGiT[old]

Добрый день, Алексей!
Вот помню как вчера это было. Работа с файлами, запись открытие и т.д. Работа с видеобуффером и графическим. Работа с прерываниями, с irq. Потом пишешь резидент глобальный и типа сам занимаешься :))

Ответ отправлен: 13.11.2002, 06:23
Отправитель: DiGiT[old]



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
Assembler (43)
C / C++ (31)
Perl (10)
Delphi (13)
Pascal (22)
Basic / VBA (11)
Java / JavaScript (12)
PHP (10)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (29)
Windows NT/2000/XP (20)
"Железо" (27)
Поиск информации (14)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (16)
Юристу
Гражданское право (9)
Семейное право (4)
Трудовое право (4)
КоАП (4)

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




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное