Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 499
от 07.03.2003, 21:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2728 Отправлено ответов: 8139 Активность: 298.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Joy Статус: Доверительный Общий рейтинг: 122.56 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 150 URL: Программирование [Подробней >>] |
Igoryk Статус: Профессиональный Общий рейтинг: 132.53 URL: IgorykSoft [Подробней >>] |
DiGiT[old] Статус: Профессиональный Общий рейтинг: 110.44 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.12 URL: Страничка обо мне и моих друзьях Телефон: +7 902 168 02 65 [Подробней >>] |
Eugene Статус: Опытный Общий рейтинг: 109.5 URL: мощный файловый архив [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 138.44 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.44 [Подробней >>] |
St Статус: Опытный Общий рейтинг: 110.12 [Подробней >>] |
akul Статус: Доверительный Общий рейтинг: 117.39 [Подробней >>] |
Andrew Vext Статус: Опытный Общий рейтинг: 108.02 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 144.37 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 113.19 URL: Мой сайтик... [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2684. Привет Эксперты! Пришлите мне пожалуйста архив рассылки "Ассемблер ? Это просто!" по досу.... (ответов: 3)
Вопрос № 2685. Люди подскажите в чем разница между командами PUSHA и PUSHAD.Please.... (ответов: 1)
Вопрос № 2686. Доброго времени суток. Господа эксперты, у меня к вам вопрос по установке MASM 6.11. После установке... (ответов: 2)
Вопрос № 2687. Подскажите пожалуйста как в Асьме написать резидентную прогу под Wind-ы, которая бы принимала все со... (ответов: 5)
Вопрос № 2688. Доброе время суток эксперты! есть проблема..нижеприведенная программка должна выводить все ASCII сим... (ответов: 5)
Вопрос № 2689. Ув. Эксперты! у меня такой вопрос. Мне очень(ОЧЕНЬ) нужно вытащить из NFS6 переменную скорости. то е... (ответов: 2)
Вопрос № 2690. Здравствуйте, уважаемые Эксперты. У меня к вам несколько вопросов: 1. На каком уровне привилегий раб... (ответов: 4)
Вопрос № 2691. Доброе время суток, ув. Эксперты! Сорри за оффтопик, но даже не знаю куда задавать. Дело в том, что ... (ответов: 5)
Вопросов: 8, ответов: 27
Вопрос № 2684 |
Привет Эксперты!
Пришлите мне пожалуйста архив рассылки "Ассемблер ? Это просто!" по досу.
P.S.Не ссылайтесь на Subscribe.Ru, номеров много - интернета мало :=]
ToshibA
Вопрос отправлен: 02.03.2003, 21:05
Отправитель: ToshibA (ToshibA@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Joy
Приветствую Вас, ToshibA!
Я чета не понял, чем архив у нас отличается от того, что лежит на Сабскрайбе? Если нужны отдельные номера то с него и качай, а архив целиком ты можешь взять на сайте у Боба Джонсона.
Ответ отправлен: 03.03.2003, 08:14
Отправитель: Joy
Отвечает Bob Johnson
Здравствуйте, ToshibA!
Скачай с моей страницы.
bobjohnson.nm.ru
Ответ отправлен: 03.03.2003, 13:52
Отправитель: Bob Johnson
Отвечает Igoryk
Здравствуйте, ToshibA!
к Бобу Донсону на сайт сходи.
Ответ отправлен: 04.03.2003, 14:06
Отправитель: Igoryk
Вопрос № 2685 |
Люди подскажите в чем разница между командами PUSHA и PUSHAD.Please.
Вопрос отправлен: 02.03.2003, 22:56
Отправитель: Alexander
[Следующий вопрос >>] [Список вопросов]
Отвечает Igoryk
Доброе время суток, Alexander!
Разница в битности. Команда Pusha заносит с стек 16-битные регистры (ax, bx, cx и т.д.), а PushaD - 32-битные регистры (eax, ebx, ecx и т.д.)
Ответ отправлен: 04.03.2003, 14:06
Отправитель: Igoryk
Вопрос № 2686 |
Доброго времени суток.
Господа эксперты, у меня к вам вопрос по установке MASM 6.11.
После установке с диска запускаю компилятор MASM.EXE, а он ругается - "Программа MASM вызвала ошибку <нет данных> Программа MASM будет закрыта."
и рекомендация перезагрузить компьютер. В чем причина. (ОС WinMe)
Спасибо
Вопрос отправлен: 03.03.2003, 02:53
Отправитель: Сергей (intro@nikol.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Joy
Приветствую Вас, Сергей!
Из этой ситуации у тебя три варианта (основных) выхода:
1. Найди другую версию MASM'а
2. Пользуйся другим компилятором (например TASM'ом)
3. Устанавливай другую систему (например Вынь95/98, там можно работать из ДОСа)
Скорей всего у тебя что-то с ОС. Но может быть и железо. И нельзя исключать вариант битой версии MASM'а (попробуй найти его в другом месте и/или другую версию)
Ответ отправлен: 03.03.2003, 08:14
Отправитель: Joy
Отвечает DiGiT[old]
Здравствуйте, Сергей!
Насколько я помню она должна запускаться из под реального режима. А в винде защищенный :(
Ответ отправлен: 03.03.2003, 04:40
Отправитель: DiGiT[old]
Вопрос № 2687 |
Подскажите пожалуйста как в Асьме написать резидентную прогу под Wind-ы, которая бы принимала все сообщения от клавиатуры. Можа и исходнички какие-нибудь по резидентам в Wind-ах, тожа ко мне скидывать.
Вопрос отправлен: 03.03.2003, 08:23
Отправитель: merd (isupov@gkso.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, merd!
В виндах нет резидентов вообще. Все запущенные в винде программы работают как бы параллельно до тех пор, пока сами не закончатся или их не закроет пользователь.
Чтобы перехватывать сообытия от клавиатуры тебе нужен драйвер.
Ответ отправлен: 03.03.2003, 13:52
Отправитель: Bob Johnson
Отвечает DiGiT[old]
Добрый день, merd!
Под виндой что не резидент, то шпион. Резидент это понятие доса, так как его там как бы не видно, но он есть. А под виндой написать резидента сложнее, там хорошим process viewеrоm мона его рассекретить :)) А хороший резидент под виндой уже называется вирь :).
Ответ отправлен: 04.03.2003, 08:17
Отправитель: DiGiT[old]
Отвечает Igoryk
Здравствуйте, merd!
Используй хуки. Резиденты под Windows - самые простые программы. Делаешь обыкновенную программу, но не рисуешь окна. Для того, чтобы пользоваться хуками нужна API SetWindowsHook.
Ответ отправлен: 04.03.2003, 20:53
Отправитель: Igoryk
Отвечает Gibbel
Добрый день, merd!
смотри SetWindowsHookEx()
Ответ отправлен: 03.03.2003, 10:06
Отправитель: Gibbel
Отвечает Eugene
Доброе время суток, merd!
В винде нет такого понятия, как резидент. Такой точке зрения соответствуют все программы под вин32. А чтобы поставить свой обработчик на клаву почитай хелп по hook'ам.
Ответ отправлен: 03.03.2003, 10:35
Отправитель: Eugene
Вопрос № 2688 |
Доброе время суток эксперты!
есть проблема..нижеприведенная программка должна выводить все ASCII символы, вставляя пробел между каждым символом.
не могу понять, почему выводить только половину..
Спасибо!
Приложение:
Вопрос отправлен: 03.03.2003, 09:11
Отправитель: Ruslan
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Добрый день, Ruslan!
А потому что dl может принимать 256 значений, ты и выводишь 256 символов, т.е. символ-пробел-символ-пробел....
Вот и получается, что ты выводишь половину таблицы.
На первый взгляд три решения...
1. Не выводи пробелы, тогда все влезет.
2. Можно сделать все проще и короче через прямой вывод в видеобуфер.
3. Нужно добавлять инкремент dh после проверки dl на переполнение(отстой)
Выбирай любой.
Лучше 2.
Ответ отправлен: 03.03.2003, 10:42
Отправитель: Maverick
Отвечает Eugene
Доброе время суток, Ruslan!
У меня вообще ничего не выводило, только синие символы. Я насильно запихнул в цикл mov ah, 9. Тогда только начались выводится символы. А вывод у тебя происходил 256 раз, как и требовалось. Проблема была в том, что ты всё время увеличиваешь DL на 2. Один раз для вывода символа, 2-й для пробела. DL занимает 1 байт, поэтому, когда ты выведешь 128 символов, у тебя DL становится 0, и все остальные символы выводятся на старое место с 0. Я всунул проверку на конец строки. Так как у нас экран 24х80, поэтому там идёт сравнение с 80. Я переделал твою прожку, она стала поменьше. Непонятно для чего ты использовал SI как счётчик, AL прекрасно справилось с этой задачей.
Приложение:
Ответ отправлен: 03.03.2003, 11:25
Отправитель: Eugene
Отвечает Ayl
Добрый день, Ruslan!
Потому что когда ты выводишь 127-й символ и пытаешься перейти к следующему, то значение в регистре DX обнуляется, вследствии чего вывод продолжается поверх уже выведенных символов. В результате ты и получаешь только 2-ю половину таблицы.
Причем ты как-то странно устанавливаешь позицию курсора. То есть, в описании функции 2 написано, что в регистре DH должна находится строка, а в регистре DL - колонка. Но у тебя получается, что везде используется строка 0, а колонка изменяется. Для первой половины таблицы это срабатывает, но для второй - нет. Так что тебе придется переработать программу в том месте, где ты перемещаешь курсор.
Кстати вопрос: а нафига ты используешь BIOS?
Ответ отправлен: 03.03.2003, 13:13
Отправитель: Ayl
Отвечает St
Привет, Ruslan!
Вызов функции 2:Установка позиции курсора.
Комментарии
Выдает координаты для позиционировании курсора на экране. Строка 0 является самой верхней строкой экрана, столбец 0 - самым левым столбцом экрана.
Исходные данные
Регистры (устанавливаются до вызова функции):
AH: устанавливается 2
DH: номер текстовой строки экрана
DL: номер текстового столбца экрана
BH: номер страницы
А вы просто увеличиваете номер столбца и когда он достигает значения FFH то снова сбрасывается на ноль и вы перепечатываете первую половину кодовой страницы второй.
Вам надо доходя до 80 столбца сбрасывать его в 0 и при этом увеличивать номер строки.
St
Ответ отправлен: 04.03.2003, 12:36
Отправитель: St
Отвечает Joy
Приветствую Вас, Ruslan!
Не стал разбираться с твоим кодом. смотри в приложении мой вариант. Кстати, твой код - 53 байта, мой - 22 байта.
Приложение:
Ответ отправлен: 05.03.2003, 08:57
Отправитель: Joy
Вопрос № 2689 |
Ув. Эксперты!
у меня такой вопрос.
Мне очень(ОЧЕНЬ) нужно вытащить из NFS6 переменную скорости.
то есть нужно знать в какой момент времени какая скорость у машины.Чтобы эта величина была как переменная. Помогите! В долу не останусь!
Вопрос отправлен: 03.03.2003, 09:32
Отправитель: g-die
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, g-die!
Воспользуйся Magic Trainer Creator или что-то похожее. Можешь нажимать на паузу и искать заданные значения.
Ответ отправлен: 03.03.2003, 13:52
Отправитель: Bob Johnson
Отвечает Joy
Добрый день, g-die!
Есть два варианта:
1. Пользуйся специальными программами (типа ArtMoney) для вычисления адреса переменной скорости. Так же, где-то слышал, что некоторые их этих программ могут сохранять по таймеру значения переменных, а еще могут сохраняться в тех играх, где сохранение не предусмотрено и т.д.
2. ПисАть свою программу, которая будет искать в памяти эту переменную, а потом ее сохранять. Но это очень трудоемкий процесс.
Ответ отправлен: 05.03.2003, 08:29
Отправитель: Joy
Вопрос № 2690 |
Здравствуйте, уважаемые Эксперты.
У меня к вам несколько вопросов:
1. На каком уровне привилегий работают виндовские библиотеки типа kernel32.dll?
2. Как проги для очистки памяти чистят память(я так понимаю, что они сбрасывают страницы памяти в своп-файл, если да, то как они это делают?)?
3. Как получить доступ к Ring-0?
Вопрос отправлен: 03.03.2003, 10:23
Отправитель: Marouder
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Marouder!
1. на 3-м.
2. FreeMem pro. Принцип очень прост - выделить себе большой кусок памяти, поработать с ним (пару раз прочитать), отдать назад ОС, повторить... Тогда ОС сама выбрасывает на диск ненужные (давно не использованные) страницы памяти.
3. В вин9х способов очень много - драйвер, патчить таблицы (GDT, IDT)... В NT сложнее.
Ответ отправлен: 03.03.2003, 13:53
Отправитель: Bob Johnson
Отвечает akul
Приветствую Вас, Marouder!
все ответы справедливы для windows NT4.0 и выше...
1. при загрузке в safe mode получишь список файлов ядра и самых низкоуровневых драйверов. Они гарантировано живут на ring0
2. не все, некоторые просто ищут dll которые можно выгрузить и тем самым освобождают память. не секрет, что винда держит в памяти dll подолгу зачастую непонятно зачем.
3. написать свой kernel-mode драйвер, он будет исполняться в ring0
Ответ отправлен: 03.03.2003, 10:38
Отправитель: akul
Отвечает Maverick
Приветствую Вас, Marouder!
3. Много есть способов, на этой странице есть примеры использования в вирусах. Идеи можешь оттуда взять.
http://z0mbie.host.sk/
Ответ отправлен: 03.03.2003, 11:07
Отправитель: Maverick
Отвечает Andrew Vext
Здравствуйте, Marouder!
1. Разные библиотеки работают на разных уровнях. Kernel32 на нулевом.
2. По разному, зависит от алгоритма. Вообще у страницы есть флаг, устанавливаемый при обращении к странице. Если флаг сброшен длительное время - страница скидывается на диск.
3. Напишите драйвер устройства, который будет исполняться в Ring0 и вызывайте его функции из программы.
Ответ отправлен: 03.03.2003, 12:14
Отправитель: Andrew Vext
Вопрос № 2691 |
Доброе время суток, ув. Эксперты!
Сорри за оффтопик, но даже не знаю куда задавать.
Дело в том, что я ни разу не работал с MS Access, а меня попросили исправить глюк. Там есть БД, и по параметрам в этой БД рассчитывается коэффициент. Он рассчитывается по принципу:
0.5, если <что-то> меньше 1
1, если <что-то> меньше 5, но больше 1
2, если <что-то> меньше 10, но больше 5
...
Там сделанно с использованием IIf (не знаю что такое, и help отсутствует).
Как должно правильно записатся это условие, или хотя-бы что такое IIf??? Его синтаксис (как разделяются параметры (а то там присутствуют "!" (это понятно) и ";" )).
Сорри за неточность вопроса. Я сам не знаю что я хочу :(
Вопрос отправлен: 03.03.2003, 13:50
Отправитель: Илья (b.i@date.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает DiGiT[old]
Здравствуйте, Илья!
если это то же что и в екселе, то iif(условие; если условие истинно; иначе) Все :)
Ответ отправлен: 04.03.2003, 08:11
Отправитель: DiGiT[old]
Отвечает masquer
Добрый день, Илья!
IIf(expr, truepart, falsepart)
Типа такого может быть, по памяти пишу, могу ошибиться
IIF(Ch<1, K=0,5, IIF(Ch>1 and Ch<5, K=1, IIF(Ch>5 and Ch<10, K=2, K=0)))
Ответ отправлен: 03.03.2003, 14:45
Отправитель: masquer
Отвечает Portnov
Добрый день, Илья!
IIf(условие;что-считаем-если-истина;что-считаем-если-ложно)
Аналогично условной операции ? : в С.
Ответ отправлен: 03.03.2003, 15:13
Отправитель: Portnov
Отвечает Ayl
Доброе время суток, Илья!
Ну ты бы хоть строчку кинул, что ли... Вот что написано в MS Access Help (см. Приложение).
Думаю, что в твоем случае это должно выглядить вот так:
IIf (<что-то> < 1, 0.5, IIf (<что-то> < 5, 1, IIf (<что-то> < 5, 2, ...)))
Синтаксис, насколько я понимаю, такой:
IIf (условие, значение_если_истина, значение_если_ложь)
т.е. разделители - запятые.
Приложение:
Ответ отправлен: 03.03.2003, 15:23
Отправитель: Ayl
Отвечает Bob Johnson
Доброе время суток, Илья!
В общем iif эквивалентна вот такому коду:
d = iif (a < b, a, b)
...
if (a < b) then
d = a
else
d = b
Приложение:
Ответ отправлен: 04.03.2003, 00:52
Отправитель: Bob Johnson
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (31) C / C++ (27) Perl (6) Delphi (14) Pascal (19) Basic / VBA (10) Java / JavaScript (9) PHP (7) MySQL / MSSQL (5) |
Пользователю Windows 95/98/Me (31) Windows NT/2000/XP (23) "Железо" (28) Поиск информации (14) |
Администратору Windows NT/2000/XP (11) Linux / Unix (11) |
Юристу Гражданское право (7) Семейное право (3) Трудовое право (4) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||