Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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 |
Отписаться
Убрать рекламу |
В избранное | ||