Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 648
от 09.10.2003, 14:50
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4291 Отправлено ответов: 12485 Активность: 290.9 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Dark_Lord Статус: Профессиональный Общий рейтинг: 110.92 [Подробней >>] |
dr_dolphin Статус: Начальный Общий рейтинг: 119.6 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 151.03 URL: Программирование [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 121.98 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.07 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 106.77 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.43 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 139.44 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4256. Доброго времени суток уважаемые Эксперты! Можно-ли установить masm на WinXP? Какая ОС нужна для прог... (ответов: 4)
Вопрос № 4257. Здравы будьте. Я тут задавал вопрос насчёт работы с Tab Control в VC. Спасибо эксперту vitya: "... (ответов: 1)
Вопрос № 4258. Здравствуйте, уважаемые эксперты. Вопрос по вводу-вывод в ComPort по WinXP. Возникла следующая пробл... (ответов: 2)
Вопрос № 4259. Уважаемые ЭКСперты... Подскажите как будет рациональнее защитить программу? Условие такое: С данного... (ответов: 2)
Вопрос № 4260. Уважаемые эксперты , какое сообщение посылается программе когда свертывается окно в панель задач , з... (ответов: 1)
Вопрос № 4262. Уважаемые эксперты, вопрос такой , каким образом можно отобразить окно , т.ч. оно вышло на передн... (ответов: 1)
Вопрос № 4263. По поводу вопроса асм. для Делфи В приложении именно то что я просил перевести в асм. или просто пос... (ответов: 2)
Вопрос № 4264. Уважаемые эксперты , вопрос такой как уже у созданой кнопки (какая функция) поменять надпись, и ... (ответов: 4)
Вопрос № 4265. Здравствуйте эксперты. Я недавно начал изучать Ассемблер. Как сделать следующее действие: 149/5-43. ... (ответов: 2)
Вопрос № 4269. Приветствую Вас эксперты !! Не удалось установить SoftIce4.01 под Win2k SP3, после запуска SI401wnt.... (ответов: 1)
Вопрос № 4270. Yooo! Братья по разуму. Я чего-то нифига не понимаю, как общаться с PS/2 мышой. С COM мышой никаких ... (ответов: 1)
Вопрос № 4271. Здравствуйте Объясните в чем моя ошибка. Я вызываю функцию «создать файл» 3CH, но файл не создаётся.... (ответов: 5)
Вопросов: 12, ответов: 26
Вопрос № 4256 |
Доброго времени суток уважаемые Эксперты!
Можно-ли установить masm на WinXP?
Какая ОС нужна для программировани на Ассемблере под MS-DOS?
Вопрос отправлен: 01.10.2003, 23:49
Отправитель: rex
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Приветствую Вас, rex!
1)Конечно можно!
2) WinXP тоже подойдёт, только vesa работать не будет!
Ответ отправлен: 02.10.2003, 08:44
Отправитель: Dark_Lord
Отвечает dr_dolphin
Здравствуйте, rex!
>Доброго времени суток уважаемые Эксперты!
>Можно-ли установить masm на WinXP?
А почему же нельзя ? Конечно, так же как и
MS Visual Studio, никаких проблем...
>Какая ОС нужна для программировани на Ассемблере под MS-DOS?
Этот вопрос типа: Какой автомобиль нужен чтобы ездить ?
Ответ прост - любой ! Так же и с операционками, используй
ту которая тебе нравится и не заморачивайся с сегодняшним
широким выбором операционных систем. Ассемблер он и в африке
ассемблер !!!
Удачи !!!
Ответ отправлен: 02.10.2003, 08:34
Отправитель: dr_dolphin
Отвечает Bob Johnson
Здравствуйте, rex!
1. Можно.
2. Любая (в смысле Windows v. Everything) или только ДОС - зависит от того, какими задачами будешь заниматься. Просто программирование под дос - работает отлично в любой оси, а вот если захочешь перейти в защищенный режим - то только под чистым досом.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 02.10.2003, 00:01
Отправитель: Bob Johnson
Отвечает _vt
Доброе время суток, rex!
1) Нужно иметь версию не ниже 6.11с, лучше с патчем до 6.15, а еще лучше пакет MASM32 - но он только для Win32... Если нужно писать под DOS - версия 6.11...
2) Любая Windows, если правильно настроить, проблемы возникают только с миленниумом... Если нужно писать под защищенный режим - тогда только Win9x или чистый DOS или PC-эмулятор с чистым DOS'ом
*** E-Man - we are waiting for you ***
Ответ отправлен: 02.10.2003, 01:58
Отправитель: _vt
Вопрос № 4257 |
Здравы будьте.
Я тут задавал вопрос насчёт работы с Tab Control в VC.
Спасибо эксперту vitya:
"...твой путь работать с CPropertySheet и CPropertyPage..."
>>> Есть, кстати, ещё способ. Для каждой вкладки создаётся ресурс-диалог и работа далее идёт как с окнами СDialog.
Спасибо эксперту BOLT'у:
"А ты как думал? Это тебе не Delphi/CBC!"
>>> Круто. Поделился знаниями такскзть. Теперь я знаю, что такое Delphi.
PS: M$ могли бы и довести до ума Tab, а иначе можно было и за MFC не браться.
Вопрос отправлен: 02.10.2003, 01:40
Отправитель: ПАПА
[Следующий вопрос >>] [Список вопросов]
Отвечает vitya
Приветствую Вас, ПАПА!
вариантов еще можно придумать - но этот способ (СPropery*) работает совсем неплохо :) зачем мучаться
Ответ отправлен: 02.10.2003, 09:05
Отправитель: vitya
Вопрос № 4258 |
Здравствуйте, уважаемые эксперты. Вопрос по вводу-вывод в ComPort по WinXP. Возникла следующая проблема. Я пользуюсь следующим набором функций API - CreateFile, WriteFile, ReadFile для общения с внешним устройством. Дело в том, что если устройства в COM1 нет, то как написано в MSDN функция ReadFile должна в LenAnswere оставлять 0 и нормально отрабатывать. Но в моем случае происходит элементарное зависание ни туда ини сюда. Подскажите как лучше выйти из этого положения. Если устройство есть - то оно отвечает все как полагается.
Спасибо за внимание к моему вопросу.
В приложении пример моего использования...
Приложение:
Вопрос отправлен: 02.10.2003, 07:42
Отправитель: Swetlana (snt_swetlana@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает dr_dolphin
Добрый день, Swetlana!
>Здравствуйте, уважаемые эксперты. Вопрос по вводу-вывод в >ComPort по WinXP. Возникла следующая проблема. Я пользуюсь >следующим набором функций API - CreateFile, WriteFile, >ReadFile для общения с внешним устройством. Дело в том, >что если устройства в COM1 нет, то как написано в MSDN >функция ReadFile должна в LenAnswere оставлять 0 и >нормально отрабатывать. Но в моем случае происходит >элементарное зависание ни туда ини сюда.
А в том же MSDN еще сказано:
Windows NT/2000 or later: If hFile is not opened with FILE_FLAG_OVERLAPPED and lpOverlapped is not NULL, the read operation starts at the offset specified in the OVERLAPPED structure. ReadFile does not return until the read operation has been completed.
>Подскажите как лучше выйти из этого положения. Если >устройство есть - то оно отвечает все как полагается.
Используйте при создании файла флаг FILE_FLAG_OVERLAPPED и при чтении файла заполняйте последний параметр функции ReadFile.
Вроде все. Пока !
>Спасибо за внимание к моему вопросу.
>В приложении пример моего использования...
Ответ отправлен: 02.10.2003, 10:33
Отправитель: dr_dolphin
Отвечает Gibbel
Добрый день, Swetlana!
Попробуй запустить чтение данных в отдельном потоке, и из основного проверять на предмет зависания.
Ответ отправлен: 02.10.2003, 12:51
Отправитель: Gibbel
Вопрос № 4259 |
Уважаемые ЭКСперты...
Подскажите как будет рациональнее защитить программу? Условие такое: С данного дистрибутива можно будет устанавливать программу не более 5(например) раз....
Программа устанавливается с дискеты. Желательно с кусочками исходных кодов, т.е. с примерами.. :-)
Вопрос отправлен: 02.10.2003, 14:06
Отправитель: D.M.
[Следующий вопрос >>] [Список вопросов]
Отвечает dr_dolphin
Доброе время суток, D.M.!
Ну тут лучше всего писать кол-во раз установки
в какой-нибудь незанятый сектор на диске и возможно шифровать тот сектор любым методом шифрования...IMHO
Пока !
Ответ отправлен: 02.10.2003, 14:39
Отправитель: dr_dolphin
Отвечает Ayl
Приветствую Вас, D.M.!
Обычно это делается с помощью нестандартного форматирования дискеты (для обеспечения защиты от копирования дистрибутива) и сохранения счетчика инсталляций на дискете (например, на инженерных цилиндрах либо где-нибудь в неиспользуемом пространстве).
Но ты должен понимать, что абсолютной защиты не существует. Если кому-нибудь очень надо будет взломать защиту - это сделают. Особенно, если ты не будешь использовать специальных средств для защиты от отладки и дизассемблирования.
Кроме этого, а как насчет прямого копирования установленной программы? То есть надо также предусмотреть привязку устанавливаемой копии к компьютеру. Здесь тоже много вариантов - начиная от привязки к версии BIOS до проверки занимаемых кластеров на HDD. В последнем случае нужно либо запрещать проведение дефрагментации диска (оговорить в инструкции пользователя), либо предусмотреть снятие установленной программы с восстановлением счетчика инсталляций. В последнем случае можно элементарно получить незарегистрированную копию путем установки программы на диск, снятия образа диска, удаления программы с восстановлением счетчика и восстановление диска со снятой копии.
Насчет примеров - а для какой операционки?
А вообще поищи в инете (например, http://rtfm.vn.ua/, http://www.emanual.ru/, на страничке baldr'а http://www.dospage.by.ru что-то есть в разделе "Тексты") или найди книжки (например, А.Фролов, Г.Фролов, серия "Библиотека системного программиста", тт.2-3 или 18-19 (см. http://softmaster.h10.ru, логин bsp0990, пароль DhfmX94w); Щербаков "Защита от копирования информации" и т.п.).
Ответ отправлен: 02.10.2003, 16:30
Отправитель: Ayl
Вопрос № 4260 |
Уважаемые эксперты , какое сообщение посылается программе когда свертывается окно в панель задач , заранее благодарен ....
Вопрос отправлен: 02.10.2003, 16:53
Отправитель: greg
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Здравствуйте, greg!
WM_SIZE с SIZE_MINIMIZED в wParam.
Ответ отправлен: 02.10.2003, 22:10
Отправитель: Dark_Lord
Вопрос № 4262 |
Уважаемые эксперты, вопрос такой , каким образом можно отобразить окно , т.ч. оно вышло на передний план но при этом уходило на задний при неактивности , а то я запуская с параметром SW_RESTORE в документации написано что оно должно стать активным , но оно появляется но на заднем плане, заранее благодарен....
Вопрос отправлен: 03.10.2003, 08:12
Отправитель: greg
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Добрый день, greg!
Не понял, что на самом деле ты хочешь сделать, но думаю тебе может помоч следующее:
при активации/деактивации окно получает сообщение WM_ACTIVATE
чтоб вывести окно поверх всех, нужно вызвать SetForeGroundWindow(hWnd)
Ответ отправлен: 03.10.2003, 08:37
Отправитель: Dark_Lord
Вопрос № 4263 |
По поводу вопроса асм. для Делфи
В приложении именно то что я просил перевести в асм. или просто посоветуйте литературу (можно в эл. виде) по асму для Делфи... чтоб не учить весь язык, всякие там регистры... а основы, которые могут понаадобится в написании таких алгоритмов:)
Приложение:
Вопрос отправлен: 03.10.2003, 09:14
Отправитель: Ландграф Павел
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, Ландграф Павел!
Интересно, а что ты понимаешь под асмом для Delphi? Особенно меня умилила фраза:
"не учить весь язык, всякие там регистры..."
А что же ты тогда хочешь? Ассемблер - он на то и низкоуровневый язык, чтобы работать с регистрами.
Да, при работе со встроенным ассемблером тебе не нужно знать и писать определения сегментов - это за тебя сделает Delphi. Но набор команд будь добр выучить. Еще ты можешь обращаться к дельфевым переменным по их именам. Но все равно это не освобождает тебя от изучения регистров.
Ответ отправлен: 03.10.2003, 11:46
Отправитель: Ayl
Отвечает Bob Johnson
Доброе время суток, Ландграф Павел!
У тебя тут сплошное ООП - перевод на асм этого учаска программы не даст практически никакого прироста скорости. Кроме того у тебя тут еще TSprite создается, вызывается куча всего и т.д. В общем забей и забудь.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 04.10.2003, 20:23
Отправитель: Bob Johnson
Вопрос № 4264 |
Уважаемые эксперты , вопрос такой как уже у созданой кнопки (какая функция) поменять надпись, и попутно какой класс надо использовать в CreateWindowEx и с какими параметрами чтобы на окне получить дочерний объект похожий на то что в Delphi называется Label, заранее благодарен.....
Вопрос отправлен: 04.10.2003, 13:10
Отправитель: greg
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Приветствую Вас, greg!
Ответ отправлен: 05.10.2003, 16:06
Отправитель: Евгений Иванов
Отвечает Gibbel
Доброе время суток, greg!
1. Чтоб поменять надпись вызывай SetWindowText() или посылай кнопке сообщение WM_SETTEXT.
2. Класс кнопки - "Button", клас создаваемого элемента - "Static". Просто создовая элемент Static при вызове CreateWindow() задаешь hWndParent равным хэндлу окна-кнопки.
P.S.: Для подобных вопросов существует рассылка по WinAPI
Ответ отправлен: 06.10.2003, 11:29
Отправитель: Gibbel
Отвечает Bob Johnson
Доброе время суток, greg!
1. SetWindowText или сообщение WM_SETTEXT.
2. Класс - STATIC.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 04.10.2003, 20:24
Отправитель: Bob Johnson
Отвечает Dark_Lord
Добрый день, greg!
Надпись меняется функцией SetWindowText(hWnd, lpTEXT);
Ответ отправлен: 05.10.2003, 00:52
Отправитель: Dark_Lord
Вопрос № 4265 |
Здравствуйте эксперты.
Я недавно начал изучать Ассемблер. Как сделать следующее действие:
149/5-43. Т.е. как при вычитании получить отрицательное число, а потом поделить на это
отрицательное число. Читаю книгу Юрова, но там как то запутано написано про какие то
упакованные и неупакованные форматы числел BCD, помогите разобраться c этим.
Заранее благодарен.
Вопрос отправлен: 04.10.2003, 13:45
Отправитель: Kydesnik (brothers@atnet.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Kydesnik!
Вроде есть IDIV...
А так я повторяю и буду повторять, что отрицательных и дробных чисел нет!
Всё это придумано для удобства. Есть только целые числа.
Ответ отправлен: 05.10.2003, 16:05
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Приветствую Вас, Kydesnik!
Но у тебя вначале выполняется деление, а потом - вычитание.
А вообще можно так:
mov bx, 5
mov ax, 149
sub bx, 43
idiv bx
Работа с отрицательными числами осуществляется так же, как и с положительными для сложения и вычитания. Для деления и умножения существуют дополнительные команды - idiv и imul.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 04.10.2003, 20:25
Отправитель: Bob Johnson
Вопрос № 4269 |
Приветствую Вас эксперты !!
Не удалось установить SoftIce4.01 под Win2k SP3, после запуска SI401wnt.exe происходит распаковка компонентов пакета,затем появляется окно мастера установки приложения потом оно исчезает и на этом все. Тоже самое происходило при попытке установить Numega Driver Studio2.0.1 и Numega SoftIce Driver Suite2.0.1. Подскажите пожалуйста в чем может быть проблема.
Вопрос отправлен: 05.10.2003, 14:14
Отправитель: Ефим
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Добрый день, Ефим!
А у тебя папка TEMP случаем не в профиле пользователя??? А твое имя пользователя не русскоязычное??? Ведь это один из глюков некоторых инсталляторов - они не понимают имена папок с интернациональными символами - пропиши путь к ней в другую папку...
*** E-Man - we are waiting for you ***
Ответ отправлен: 06.10.2003, 00:30
Отправитель: _vt
Вопрос № 4270 |
Yooo! Братья по разуму. Я чего-то нифига не понимаю, как общаться с PS/2 мышой. С COM мышой никаких проблем, а путной инфы или рабочих исходников по PS/2 нигде нет. Нашел кой какую литературу, но там описываются лишь протоколы передачи информации. Ответы типа с описанием BIOS-ных функций некатят.
Вопрос отправлен: 05.10.2003, 14:28
Отправитель: Sanek
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Приветствую Вас, Sanek!
Там прерывание 12. Вот и принимай от него сигналы.
Ответ отправлен: 05.10.2003, 23:36
Отправитель: Евгений Иванов
Вопрос № 4271 |
Здравствуйте
Объясните в чем моя ошибка. Я вызываю функцию «создать файл» 3CH, но файл не создаётся. Попробовал использовать 5BH но тоже ничего не получилось, и так со всеми функциями работы с файлами.
PS
Приложение писал в dZebug:)
Приложение:
Вопрос отправлен: 05.10.2003, 14:45
Отправитель: aex (2002ai@ua.fm)
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, aex!
И не создастся. Потому что номер функции для прерывания 21h задается в регистре AH. А у тебя написано: mov ax, 3ch. Что заносит в регистр AX значение 003C. Т.е. ты вместо функции 3c вызываешь функцию 0. Напиши mov ah, 3ch - и все должно сработать.
Ответ отправлен: 09.10.2003, 13:59
Отправитель: Ayl
Отвечает --- Нет данных ---
Приветствую Вас, aex!
ax=3Ch => ah=0, al=3Ch :)))
Ответ отправлен: 06.10.2003, 09:58
Отправитель: --- Нет данных ---
Отвечает Bob Johnson
Приветствую Вас, aex!
Убедись, что у тебя в сегментном регистре действительно содержится верное значение (чтобы указатель на имя файла был правильным).
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 05.10.2003, 17:40
Отправитель: Bob Johnson
Отвечает Евгений Иванов
Здравствуйте, aex!
Ответ отправлен: 05.10.2003, 23:54
Отправитель: Евгений Иванов
Отвечает _vt
Здравствуйте, aex!
А ты читал описания этих функций?? На имя файла должны указывать DS:DX, а DS ты не инициализируешь (push cs pop ds)...
> Приложение писал в dZebug:)
Я уже как-то отправлял всех dZенствующих на WASM - пусть они с твоей болезнью разбираются :)
*** E-Man - we are waiting for you ***
Ответ отправлен: 06.10.2003, 00:30
Отправитель: _vt
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (29) C / C++ (27) Perl (7) Builder / Delphi (21) Pascal (25) Basic / VBA (9) Java / JavaScript (9) PHP (12) Криптография (9) WinAPI (15) |
Пользователю Windows 95/98/Me (59) Windows NT/2000/XP (64) "Железо" (43) Поиск информации (29) |
Администратору Windows NT/2000/XP (36) Linux / Unix (15) |
Юристу Гражданское право (11) Семейное право (8) Трудовое право (9) КоАП (8) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||