Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 423
от 22.11.2002, 18:40
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 1905 Отправлено ответов: 5916 Активность: 310.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
St Статус: Опытный Общий рейтинг: 117.16 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 137.68 URL: Задачи по ассемблеру Телефон: 89039415024 (BiLine GSM) [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 119.86 [Подробней >>] |
Eugene Статус: Опытный Общий рейтинг: 112.03 URL: мощный файловый архив [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 153.33 [Подробней >>] |
Sergey Статус: Начальный Общий рейтинг: 101.97 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.33 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 152.01 [Подробней >>] |
keleb-glin Статус: Начальный Общий рейтинг: 114 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 122.83 URL: Страничка рассылки по Паскалю Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.52 URL: Страничка обо мне и моих друзьях [Подробней >>] |
LIFO Статус: Профессиональный Общий рейтинг: 127.12 URL: наш сайт Телефон: 8 01710 24758 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 129.98 URL: моя рассылка по Protected Mode [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 1840. Здравствуйте!!! У меня тут вопросик: неделю парился, но не получается... Надо мне под ДОС программку... (ответов: 3)
Вопрос № 1841. Всем привет. Кто-нибудь может прислать мне assembler работающий нормально под WINME, чтобы шел под D... (ответов: 2)
Вопрос № 1842. Здрасти!!!! Подсажите пожалуйста. Я могу достать к своему Am386(то есть троечка от AMD) 287 сопроце... (ответов: 1)
Вопрос № 1843. a... (ответов: 2)
Вопрос № 1844. Привет!!! Тут на форуме решили сделать фотогаллерею экспертов, так что шлите фотки на anysoft@nm.ru ... (ответов: 2)
Вопрос № 1847. привет эксперты. 1.Не подскажите, где в dos-eхе хедере наход. точка входа. 2.в w32 почему, если поло... (ответов: 3)
Вопрос № 1848. Здравствуйте, Bob Johnson. В рассылке был вопрос о написании драйверов для Win. Вы ответили: Могу т... (ответов: 1)
Вопрос № 1849. Здроствуйте, где можно скачать *.lib , зарание спасибо.... (ответов: 4)
Вопрос № 1850. После выполнения моя программа закрывает окно DOS'а (работаю в WinMe). А мне надо увидеть результат ... (ответов: 8)
Вопрос № 1851. Ув. эксперты! В сайсе вместо BMSG можно поставить BPX адрес взять по команде HWND и еще надо подстав... (ответов: 2)
Вопросов: 10, ответов: 28
Вопрос № 1840 |
Здравствуйте!!!
У меня тут вопросик: неделю парился, но не получается...
Надо мне под ДОС программку с мышкой. Я пишу на сях но использую встроенный ассемблер. Так вот, там есть на 33-м прерывании ф-ция 0С кажется (назначить процедуру обработки прерывания по маске, типа того) Ну я делаю всё вроде правильно, а у меня из этой процедуры не выходит или выходит не туда. Может стэк рушится или может процедуру как прерывание надо оформлять? Винда (если с виртуальной машины ) сразу закрывает программу... Как то вроде даже печатало какие-то каракули... Не понимаю...
см. в приложении.
Спасибо.
Приложение:
Вопрос отправлен: 17.11.2002, 18:35
Отправитель: E$h@ (bbroth@pochtamt.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает St
Привет, E$h@!
В справочнике по прерываниям говорится, что указатель на процедуру обслуживания мыши определяется парой регистров ES:DI, а у вас вместо DI используется DX. Надеюсь ошибка в этом, тк си не люблю и найти ошибку в ней вряд ли смогу.
St
Ответ отправлен: 17.11.2002, 20:13
Отправитель: St
Отвечает Maverick
Приветствую Вас, E$h@!
Поглядел тут ответ на твой вопрос, мне кажется, что дело тут не в этом. ES:DX я так понял указывают на far-программу.
А в сях я ноль, погляди прогу в целом, а не только ассемблер.
Ответ отправлен: 17.11.2002, 22:30
Отправитель: Maverick
Отвечает ASMодей
Добрый день, E$h@!
С чего это ты взял, что процедура HANDLER останется в памяти
после завершения работы программы?
Ответ отправлен: 18.11.2002, 06:13
Отправитель: ASMодей
Вопрос № 1841 |
Всем привет. Кто-нибудь может прислать мне assembler работающий нормально под WINME, чтобы шел под DOS. Желательно прислать любые исходники.Заранее спасибо.
evgen_@list.ru
Вопрос отправлен: 17.11.2002, 20:46
Отправитель: evgen (evgen_@list.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Eugene
Здравствуйте, evgen!
А если хочешь ещё и с исходниками, то на том же filesearch.ru набери fasm, будет тебе и с исходниками.
Ответ отправлен: 19.11.2002, 09:15
Отправитель: Eugene
Отвечает Maverick
Доброе время суток, evgen!
На www.filesearch.ru набери Tasm
Вот тебе и ассемблер.
Ответ отправлен: 17.11.2002, 22:30
Отправитель: Maverick
Вопрос № 1842 |
Здрасти!!!!
Подсажите пожалуйста. Я могу достать к своему Am386(то есть троечка от AMD) 287 сопроцесор. Будут ли они нормально работать?
Torax
Вопрос отправлен: 17.11.2002, 20:46
Отправитель: Torax (torax@dotes.west.energy.gov.ua)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, Torax!
Мне кажется, что ты его даже вставить не сможешь. 287 был (если я его ни с чем не путаю) - DIP 40..., а вот тройки пошли уже в планарных корпусах... Так что лучше вначале посмотри на разъем на плате, куда должен вставляться FPU и посмотри на сам чип (который ты хочешь вставить) - может сразу будет видно, что не получится.
P.S. А зачем тебе весь этот антиквариат?
Ответ отправлен: 18.11.2002, 16:39
Отправитель: Bob Johnson
Вопрос № 1843 |
a
Приложение:
Вопрос отправлен: 17.11.2002, 20:51
Отправитель: aa
[Следующий вопрос >>] [Список вопросов]
Отвечает Sergey
Приветствую Вас, aa!
Ответ отправлен: 17.11.2002, 23:12
Отправитель: Sergey
Отвечает Bob Johnson
Приветствую Вас, aa!
b
Приложение:
Ответ отправлен: 18.11.2002, 16:41
Отправитель: Bob Johnson
Вопрос № 1844 |
Привет!!!
Тут на форуме решили сделать фотогаллерею экспертов, так что шлите фотки на anysoft@nm.ru
Для подробной информации смотри сюда
http://rusfaq.ru/cgi-bin/Forum.cgi?Action=ShowOpin&Number=93&Forums=All&Qty=25&From=1&Sort=
Вопрос отправлен: 17.11.2002, 22:47
Отправитель: Саша Кова (sasha@rusfaq.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Приветствую Вас, Саша Кова!
А где эти фотки потом будут?
Maverick@nightmail.ru
Ответ отправлен: 17.11.2002, 22:56
Отправитель: Maverick
Отвечает Bob Johnson
Добрый день, Саша Кова!
Посмотрим... (всмысле ссылку)
Ответ отправлен: 18.11.2002, 16:42
Отправитель: Bob Johnson
Вопрос № 1847 |
привет эксперты. 1.Не подскажите, где в dos-eхе хедере наход. точка входа.
2.в w32 почему, если положить в стек getmodulehandle->freelibrary->jmp $, перейти туда, то заблокир. ctrl-alt-del.
Вопрос отправлен: 18.11.2002, 10:44
Отправитель: oleg
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Доброе время суток, oleg!
Согласно описанию заголовка EXE (см.приложение), точка входа (CS:IP) находится в двойном слове по смещению 14h
Приложение:
Ответ отправлен: 18.11.2002, 12:18
Отправитель: Ayl
Отвечает masquer
Здравствуйте, oleg!
По второму вопросу поподробнее, куда перейти, как стек выглядит?
Ответ отправлен: 18.11.2002, 14:23
Отправитель: masquer
Отвечает ASMодей
Здравствуйте, oleg!
1. По смещению +14h находится значение IP, по смещению +16h -
значение CS.
Ответ отправлен: 19.11.2002, 16:14
Отправитель: ASMодей
Вопрос № 1848 |
Здравствуйте, Bob Johnson.
В рассылке был вопрос о написании драйверов для Win.
Вы ответили: Могу тебе выслать свой труд - что-то типа курсового, где объясняется (достаточно просто) как писать драйвера для Win9x.
Огромная просьба выслать и мне.
С уважением,
заранее спасибо,
Николай.
Вопрос отправлен: 18.11.2002, 13:05
Отправитель: Николай
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Николай!
Ну да. А вот адрес свой оставить слабо?
Ответ отправлен: 19.11.2002, 17:13
Отправитель: Bob Johnson
Вопрос № 1849 |
Здроствуйте, где можно скачать *.lib , зарание спасибо.
Вопрос отправлен: 18.11.2002, 13:06
Отправитель: Cas (casvs@pochtamt.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Cas!
Можешь сделать их сам из любой DLL. Утилита implib из пакета TASM.
Ответ отправлен: 19.11.2002, 17:13
Отправитель: Bob Johnson
Отвечает --- Нет данных ---
Приветствую Вас, Cas!
А какие либы-то? Если для Винды то они входият стандартныу поставку ассемблера, в к-рым вы кодируете. Ну другие можно скачать с сайта Некрософта
Ответ отправлен: 18.11.2002, 13:39
Отправитель: --- Нет данных ---
Отвечает St
Привет, Cas!
Если вы имеете в виду библиотеки импорта для Win32, то под масм их много уже готовых в пакете masm32, а вообще-то они создаются при помощи специальных утилит прямо из нужной DLL (Implib.exe - есть свои и в тасм и в масм).
St
Ответ отправлен: 18.11.2002, 17:52
Отправитель: St
Отвечает Maverick
Добрый день, Cas!
www.filesearch.ru
Введи там *.lib
Ответ отправлен: 18.11.2002, 16:14
Отправитель: Maverick
Вопрос № 1850 |
После выполнения моя программа закрывает окно DOS'а (работаю в WinMe). А мне надо увидеть результат работы в виде символов переменной, выводимых на экран. Программа компилируется в com (или это не важно?)
Заканчивается программа так:
;-------------
mov ah,9
mov dx,PrdKey; кстати, здесь же можно вместо mov указать lea? В чем разница?
int 21h
ret
; описание переменных
;-------------
Как мне сделать так, чтоб хоть одним глазком... ?
Вопрос отправлен: 18.11.2002, 17:29
Отправитель: Faraon
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Добрый день, Faraon!
ну так понятно... Ты же пишешь ret, что предполагает завершение программы. Надо или ставить задержку (например, так:
xor ax, ax
int 16h
)
или запускать из командной строки или из-под какой-либо оболочки типа FAR, DN, NC...
Разница между mov OFFSET и lea в том, что первая определяет значение операнда в момент компиляции, а вторая в ходе выполнения программы. Но в данном случае все равно, что писать, так как компилятор "умный" и сам преобразует выражение lea dx, PrdKey в mov dx, OFFSET PrdKey.
Я лично предпочитаю lea - в исходнике короче и мне понятнее.
Ответ отправлен: 18.11.2002, 18:04
Отправитель: Ayl
Отвечает keleb-glin
Добрый день, Faraon!
Используй функцию 10h прерывания 16h:
mov ah, 10h
int 16h
Это запрос на нажатие клавиши. Кроме того, в al потом будет лежать код клавиши.
Ответ отправлен: 18.11.2002, 21:36
Отправитель: keleb-glin
Отвечает St
Привет, Faraon!
1) Запускайте программу из Windows Commander с нажатым Shift
2) Из под любого файл-менеджера работающего в Дос окне - Volkov и Norton Commander, DOS Navigator, Far - после окончания работы программы можно скрыть файловые панели и посмотреть что программа вывела на экран
LEA (load effective address) загружает не значение переменной, а ее адрес в памяти. Работает как MOV Reg,OFFSET Var, но в отличие от него не только на этапе компиляции, но и на этапе работы программы - то есть с помощью LEA можно например загружать адрес локальной переменной, находящейся в стеке, а с помощью MOV Reg,OFFSET Var только глобальных, определенных на этапе написания программы.
St
Ответ отправлен: 18.11.2002, 18:05
Отправитель: St
Отвечает Bob Johnson
Здравствуйте, Faraon!
Просто запускай свою программу не прямо из Windows, а из far (например). Тогда, нажав Ctrl-O ты увидишь, что она написала.
Еще, в 98-м кажется, существует файл Conagent.exe (в C:WindowsSystem) - так вот, сделай к нему pif (т.е. открой его свойства в explorer'ре) и установи там "не закрывать автоматически окно" - должно помочь. В ME я думаю тоже есть этот файл.
Ответ отправлен: 19.11.2002, 17:13
Отправитель: Bob Johnson
Отвечает Sensey
Доброе время суток, Faraon!
Дополню экспертов
Надо создать pif-файл, в кот указывать не закрывать окно по завершению рабоыт:
В Эксплорере правой мышкой, свойства, закладка Программа.
Убрать чекбокс "Закрывать окно по завершении работы"
Ответ отправлен: 18.11.2002, 19:27
Отправитель: Sensey
Отвечает Gibbel
Приветствую Вас, Faraon!
Можно настроить Windows, чтоб по завершении сеанса не закрывалось окно. Или добавь в конце проги перед выходом
mov ah,1
int 16h
После этого программа будет ожидать нажатия любой кнопки.
lea загружает адрес переменной, а mov - ее значение. Кстати, тебе тут надо писать или
mov dx,offset PrdKey
или
lea dx,PrdKey
Ответ отправлен: 18.11.2002, 18:29
Отправитель: Gibbel
Отвечает Maverick
Добрый день, Faraon!
Перед ret вставь:
mov ah,10h
int 16h
Эта функция ждет нажатия клавиши.
Ответ отправлен: 19.11.2002, 07:49
Отправитель: Maverick
Отвечает LIFO
Здравствуйте, Faraon!
1.Разница есть.
если пишешь
0103 mov dx,PrdKey
;а потом присваиваешь
PrdKey db 'a'
;то в dx у тебя будет 61-код символа 'a'
;а если
lea dx,PrdKey
;то в dx у тебя будет не код символа 'a', а СМЕЩЕНИЕ , по которому этот символ находится.
Вообще тебе стоит все смотреть в отладчике - быстрее дойдет.
И еще ... У тебя надо писать
mov dx, offset PrdKey
;или
lea dx,PrdKey
Тогда все выводится (по крайней мере у меня , кстати запускай из Volcov'a, но не из Windows Commander.
Ответ отправлен: 21.11.2002, 15:56
Отправитель: LIFO
Вопрос № 1851 |
Ув. эксперты!
В сайсе вместо BMSG можно поставить BPX адрес взять по команде HWND и еще надо подставить условие IF.
Например BPX ..... IF ebp+0C==WM_DESTROY. Но у меня сдесь ошибка сайс будет сравнить двойку с суммой регистра ebp и 0С, а надо заставить сайс чтобы он сравнивал дв слово адрессуемое ebp регистром, не подскажите(синтаксис) как так можно аддресовать байты, слова и дв слова.
ЗЫ (эксперту Broken Sword) Сайс действительно глючный, пошагово выполняя программу я глянул хэндл окна возвращаемые ф. CreateWindowEx и этот хэндл сайсу не подуше. Надо менять сайс, около двух месяцев назад я сливал сайс под НТ с hi-tech.nsys.by.ru (ништячный сайт, я с него и MASM32V7 брал, все работает) в том сайсе сразу после загрузки Loader-ом программы виден код первой выполняемой инструкции, а то у меня видны одни INVALIDы, а после нажатия F10 все нормально, но первая команда уже выполнена и я ее не видел. Короче тот сайс был нормальный, а какой мне подсунули на базаре !@#$%^. Вот зашел я седня с утречка на hi-tech.nsys.by.ru .... А там ниче нет :(((((((
Но написано что вскоре че та там будет хорошее.
Вопрос отправлен: 18.11.2002, 18:05
Отправитель: Kiselev (kiselev@nightmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Приветствую Вас, Kiselev!
Вот так:
BPX адрес IF (EBP->0С)==WM_DESTROY
P.S. вот представь, что по с'айсу появилась книга, ты б ее купил?
Ответ отправлен: 18.11.2002, 20:05
Отправитель: Broken Sword
Отвечает masquer
Здравствуйте, Kiselev!
bpx xxxx if (*ebp)==xxxxxxxx
Ответ отправлен: 18.11.2002, 18:53
Отправитель: masquer
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (42) C / C++ (29) Perl (8) Delphi (14) Pascal (22) Basic / VBA (12) Java / JavaScript (14) PHP (11) MySQL / MSSQL (9) |
Пользователю Windows 95/98/Me (32) Windows NT/2000/XP (22) "Железо" (27) Поиск информации (17) |
Администратору Windows NT/2000/XP (11) Linux / Unix (16) |
Юристу Гражданское право (7) Семейное право (2) Трудовое право (3) КоАП (2) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||