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

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.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
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.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.


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

В избранное