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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 703
от 07.03.2004, 19:00

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 5057
Отправлено ответов: 13979
Активность: 276.4 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

_vt
Статус: Профессиональный
Общий рейтинг: 117.86
[Подробней >>]
Foamplast
Статус: Опытный
Общий рейтинг: 161.22
URL: мой личный сайт
[Подробней >>]
Snowm@n
Статус: Доверительный
Общий рейтинг: 125.71
[Подробней >>]
 
Gibbel
Статус: Профессиональный
Общий рейтинг: 105.85
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 143.64
URL: Программирование
[Подробней >>]
Artemy
Статус: Опытный
Общий рейтинг: 114.02
Телефон: 8 905 549 38 66
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 116.5
[Подробней >>]
HertZ
Статус: Опытный
Общий рейтинг: 139.53
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.74
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 5016. Тут перечислены сообщения об ошибках, кроме последней! Значения их я знаю, а как они переводятся на ... (ответов: 2)
Вопрос № 5017. Доброго времени суток, уважаемые эксперты :) Вопрос про mci. Как работать с ним, описано везде. Но в... (ответов: 1)
Вопрос № 5018. 29A e-zine № 7 вот это я понимаю ассемблер http://vx.netlux.org/dl/mag/29a7.zip?x=6&y=6&z=6... (ответов: 1)
Вопрос № 5019. Уважаемые эксерты , я боюсь шо в меня полетят валенки, ботинки сапоги но все-таки отважусь , вопр... (ответов: 4)
Вопрос № 5020. Где можно достать "рабочий" 32 розрядный компылятор ассемблера?... (ответов: 2)
Вопрос № 5022. Почему закрыли WASM.RU????? Эндикот.... (ответов: 2)
Вопрос № 5023. Здравствуйте эксперты! Помогите решить задачу: необходимо в существующем текстовом файле заменить вс... (ответов: 3)
Вопрос № 5024. Подскажите пожалуйста каким обоазом можно скомпилировать файл при помощи связки Tasm32 Tlink32, чтоб... (ответов: 1)
Вопрос № 5025. Здравствуйте экспеты, подскажите пожалуйста как из первого модуля написанного на ассемблере вызваты ... (ответов: 1)
Вопрос № 5026. Здравствуйте эксперты Есть две структуры FILETIME (как я понял из описания значения возвращаемое Sys... (ответов: 2)
Вопрос № 5027. Привет всем! Помогите, кто чем может. Чего-то совсем не могу сообразить. Вопрос по ассемблеру для MC... (ответов: 2)
Вопрос № 5028. hello world, а также всем остальным! суть вопроса: у меня есть turbo cpp v3.0 (dos) проект, там срр ... (ответов: 1)
Вопрос № 5030. Доброго времени суток уважаемые! Объясните пожалуйста в чем разница между: DriverStudio & DriverSuit... (ответов: 1)
Вопрос № 5031. Здравствуйте, уважаемые эксперты! Помогите разьяснить такую ситуацию: 1. Как создать dll, чтобы ... (ответов: 3)

Вопросов: 14, ответов: 26


 Вопрос № 5016

Тут перечислены сообщения об ошибках, кроме последней!
Значения их я знаю, а как они переводятся на русский язык в читатебельном формате?
CreateFileMapping failed
MapViewOfFile failed
unrecognized file format
No resources in this file.
ResourceItem is not a list
offset



Вопрос отправлен: 29.02.2004, 17:39
Отправитель: Kirill (karatetski@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Добрый день, Kirill!
1)2) Ошибка при вызове API-функции Create... (Map...)
3) Нераспознанный формат файла
4) Отсутствуют ресурсы в файле
5) ResourceItem не является списком
6) смещение
А что, совсем туго с инглишем? ;)
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


Ответ отправлен: 01.03.2004, 01:35
Отправитель: _vt


Отвечает Foamplast

Добрый день, Kirill!
unrecognized file format
нераспознаваемый формат файла
No resources in this file.
Нет ресурсов в этом файле
ResourceItem is not a list offset
Элемент ресурсов не является смещением списка

Ответ отправлен: 04.03.2004, 01:20
Отправитель: Foamplast


 Вопрос № 5017

Доброго времени суток, уважаемые эксперты :)
Вопрос про mci. Как работать с ним, описано везде. Но вот один вопрос почему-то всегда обходят скромным молчанием: как открыть несколько сд-ромов, разумеется, если в системе их больше чем один. Как указать функции mciSendCommand/mciSendString, какой из них открыть? Используется ОС Win 2000/XP/NT. С 95/98 все более-менее понятно.
Заранее спасибо!
Успехов!



Вопрос отправлен: 01.03.2004, 02:59
Отправитель: equalizer

[Следующий вопрос >>] [Список вопросов]

Отвечает Snowm@n

Доброе время суток, equalizer!
Есть у меня такой модуль (гляди в приложение).
//закрыть CD с буквой Drive
function CloseCD(Drive: Char): Boolean;
//открыть CD с буквой Drive
function OpenCD(Drive: Char): Boolean;


Приложение:

Ответ отправлен: 01.03.2004, 19:59
Отправитель: Snowm@n


 Вопрос № 5018

29A e-zine № 7 вот это я понимаю ассемблер
http://vx.netlux.org/dl/mag/29a7.zip?x=6&y=6&z=6



Вопрос отправлен: 01.03.2004, 08:11
Отправитель: coderz (coderz@nm.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Здравствуйте, coderz!
А у нас в квартире газ, а у Вас?...


Ответ отправлен: 04.03.2004, 01:26
Отправитель: Foamplast


 Вопрос № 5019

Уважаемые эксерты , я боюсь шо в меня полетят валенки, ботинки сапоги но все-таки отважусь , вопрос древний как под Win32 перевести строку состоящую из цифр(число а-ля целое) в целое число , если есть готовый пример то сгодится и он , заранее благодарен....
Greg



Вопрос отправлен: 01.03.2004, 14:52
Отправитель: greg

[Следующий вопрос >>] [Список вопросов]

Отвечает Gibbel

Здравствуйте, greg!
Так же, как и под любой другой системой (см. приложение).
Ну а если тебя интересует использование WinAPI, то есть функция StrToInt из библиотеки shlwapi.dll (версии 4.71), правда она будет работать только в системах с IE 4.0 и старше.
Если у вас в окне есть какой-либо элемент управления, в который можно записать/считать текст, то можно воспользоваться комбинацией SetDlgItemText/GetDlgItemInt.

Приложение:

Ответ отправлен: 01.03.2004, 15:20
Отправитель: Gibbel


Отвечает Bob Johnson

Приветствую Вас, greg!
Руками, последовательно. Умножаешь результат на 10, считываешь цифру, добавляешь к результату и повторяешь снова.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 02.03.2004, 10:40
Отправитель: Bob Johnson


Отвечает Snowm@n

Приветствую Вас, greg!
Используй метод полинома:
3247=3*10^3+2*10^2+4*10^1+7*10^0=((3*10+2)*10+4))*10+7.


Ответ отправлен: 01.03.2004, 20:22
Отправитель: Snowm@n


Отвечает Foamplast

Здравствуйте, greg!
Так же как и под ЛЮБОЙ ДРУГОЙ СИСТЕМОЙ.
АЛГОРИТМ
Значит так,
1) присваиваешь число нулю,
2) берёшь первую цифру числа.
3) если это не цифра, то выходишь с ошибкой.
4) если это цифра, то умножаешь число на основание системы 5) счисления (например, 10) и прибавляешь к числу эту цифру.
6) повторяешь шаги 2-5, пока цифры не кончатся, при этом шаг 2 читать как "берёшь следующую цифру"
ДРУГОЕ
Есть ещё функциии всяких там msvcrt***.dll, но
1) библиотек с одним именем дофига - запутаешься
2) описания для сишных программистов
3) посмотри, как реализовано - школьник напишет лучше.
ИСТОРИЯ
Надо было мне программно задавать дисковые квоты, а они измеряются в 64-разрядных числах. То есть надо как-то десятичные строки переводить в 64-битные числа и наоборот.
Посмотрел msdn, там есть всякие itoa и т.п.
Возвращают LONGLONG. Как это я не въехал. Регистр Еах-то 32-битный! Ну и написал сам. Всё заработало, прогу продал.
Деньги получил. Потом глянул исходник itoa и решил, что впредь всё буду сам писать и другим советую.

Приложение:

Ответ отправлен: 04.03.2004, 01:39
Отправитель: Foamplast


 Вопрос № 5020

Где можно достать "рабочий" 32 розрядный компылятор ассемблера?



Вопрос отправлен: 01.03.2004, 16:57
Отправитель: Andrew

[Следующий вопрос >>] [Список вопросов]

Отвечает Snowm@n

Добрый день, Andrew!
Качай TASM5.
P/S либо FASM на flatassembler.com


Ответ отправлен: 01.03.2004, 20:28
Отправитель: Snowm@n


Отвечает Foamplast

Добрый день, Andrew!
Ааа, у тебя с masm проблемы? Выкинь.
http://nasm.sourceforge.net/
http://www.flatassembler.net/


Ответ отправлен: 04.03.2004, 01:43
Отправитель: Foamplast


 Вопрос № 5022

Почему закрыли WASM.RU?????
Эндикот.



Вопрос отправлен: 02.03.2004, 01:07
Отправитель: stivenson@hotbox.ru

[Следующий вопрос >>] [Список вопросов]

Отвечает Snowm@n

Доброе время суток, stivenson@hotbox.ru!
Может быть сервак полетел?

Ответ отправлен: 02.03.2004, 18:22
Отправитель: Snowm@n


Отвечает Foamplast

Приветствую Вас, stivenson@hotbox.ru!
Отстаёшь от жизни!
http://wasm.ru/
23.02.04
+ Сайт снова онлайн! Злые силы хотели заддосить его так, чтобы он больше не поднялся, но они не знали, что мы просто кладём на них свои болты. Давайте выпьем за упокой души организаторов атаки ;).

Ответ отправлен: 04.03.2004, 01:49
Отправитель: Foamplast


 Вопрос № 5023

Здравствуйте эксперты! Помогите решить задачу: необходимо в существующем текстовом файле заменить все четные буквы на прописные. заранее ОГРОМНОЕ СПАСИБО



Вопрос отправлен: 02.03.2004, 21:20
Отправитель: Kiler

[Следующий вопрос >>] [Список вопросов]

Отвечает Artemy

Добрый день, Kiler!
См. приложение.

Приложение:

Ответ отправлен: 04.03.2004, 14:23
Отправитель: Artemy


Отвечает Ayl

Добрый день, Kiler!
Что такое четное число знаешь? Вот и хорошо. Берешь строку из файла. Устанавливаешь указатель на 2-ю букву строки. Считываешь букву и преобразуешь ее. Вариантов для преобразования несколько. Если ты точно будешь уверен, что все символы - латинские и кроме букв там нет ничего, то делаешь команду and al, 0dfh (считаем, что в al твоя буква находится).
Если же может быть что угодно, то либо нужно перед преобразованием проверять, что именно у тебя считалось, либо завести таблицу преобразования на 255 символов и выполнять команду xlat.


Ответ отправлен: 03.03.2004, 14:20
Отправитель: Ayl


Отвечает Foamplast

Приветствую Вас, Kiler!
Что именно помочь?
Процедуру смотри в приложении.
Если не знаешь, как файл открыть, спрашивай.


Приложение:

Ответ отправлен: 04.03.2004, 01:54
Отправитель: Foamplast


 Вопрос № 5024

Подскажите пожалуйста каким обоазом можно скомпилировать файл при помощи связки Tasm32 Tlink32, чтобы исполняемый модуль был меньше 4Кб



Вопрос отправлен: 02.03.2004, 23:35
Отправитель: HertZ

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Добрый день, HertZ!
Скомпилируй с помощью nasm и alink :) будет около 2-х, если кода мало.
А вообще файлы меньше 4Кб делать неэффективно, так как в большинстве существующих файловых систем размер кластера (минимальной единицы выделения места под файл) не меньше 4Кб.


Ответ отправлен: 04.03.2004, 01:57
Отправитель: Foamplast


 Вопрос № 5025

Здравствуйте экспеты,
подскажите пожалуйста как из первого модуля написанного на ассемблере вызваты процедуру написанную на паскале, которая находится во втором модуле, т.е. как оформить файлы, передать данные,компелировать.



Вопрос отправлен: 03.03.2004, 02:42
Отправитель: Alexandr (alexandr@8-12.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Доброе время суток, Alexandr!
Если под Паскалем подразумевается изделие фирмы Borland, то это невозможно, т.к. он не генерирует obj-файлы. При использовании GNU Pascal и GNU As это вполне возможно.
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


Ответ отправлен: 05.03.2004, 00:21
Отправитель: _vt


 Вопрос № 5026

Здравствуйте эксперты
Есть две структуры FILETIME (как я понял из описания значения возвращаемое SystemTimeToFileTime указано в наносекундах ?)
Как лучше вычислить разницу между первой и второй структурой?
И разницу конвертировать в милисекунды?



Вопрос отправлен: 03.03.2004, 05:20
Отправитель: Владимир

[Следующий вопрос >>] [Список вопросов]

Отвечает HertZ

п”пѕп±яЂя‹п№ пґпµпЅяЊ, п’п»п°пґпёпјпёяЂ!
64 яЂп°п·яЂяЏпґпЅп°яЏ яЃя‚яЂяѓпєя‚яѓяЂп° FILETIME яЃпѕпґпµяЂп¶пёя‚ пєпѕп»-пІпѕ 100 пЅп°пЅпѕяЃпµпєяѓпЅпґпЅя‹я… пёпЅя‚пµяЂпІп°п»пѕ яЃ 1 яЏпЅпІп°яЂяЏ 1601, я„яѓпЅпєя†пёяЏ FileTimeToSystemTime пєпѕпЅпІпµяЂя‚пёяЂяѓпµя‚ яЃя‚яЂяѓпєя‚яѓяЂяѓ FILETIME пІ SYSTEMTIME, пІ пЅпµп№ яѓп¶пµ пµяЃя‚яЊ пїпѕп»пµ, пєпѕя‚пѕяЂпѕпµ яЃпѕпґпµяЂп¶пёя‚ пјпёп»пёяЃпµпєяѓпЅпґя‹.
п п°п·пЅпёя†яѓ пјпµп¶пґяѓ FILETIME пјпѕп¶пЅпѕ пїпѕп»яѓя‡пёя‚яЊ я‚п°пє:
A DD 1000.0
''''
FINIT
FILD offset FILETIME1
FILD offset FILETIME2
FSUB ; st(0) = FILETIME1 - FILETIME2
FDIV A ;st(0) = яЂп°п·пЅпёя†п° пІ пјпёп»пёяЃпµпєяѓпЅпґп°я…
пґп°п»яЊя€пµ п°пЅп°п»пёп·пёяЂяѓпµпј я„п»п°пЁпё яЃпѕпїяЂпѕя†пµяЃяЃпѕяЂп°, пґп»яЏ пѕпїяЂпµпґпµп»пµпЅпёяЏ пєп°пєпѕпµ я‡пёяЃп»пѕ п±я‹п»пѕ п±пѕп»яЊя€пµ пё.я‚.пґ.

Ответ отправлен: 03.03.2004, 16:06
Отправитель: HertZ


Отвечает Foamplast

Добрый день, Владимир!
Вычти из одной другую и раздели на 1000.
Это так называемоя "длинная" арифметика.
Смотри приложение.
Только для вычитания вместо ADD ADC используй SUB и SBB.


Приложение:

Ответ отправлен: 04.03.2004, 02:14
Отправитель: Foamplast


 Вопрос № 5027

Привет всем! Помогите, кто чем может. Чего-то совсем не могу сообразить. Вопрос по ассемблеру для MC51. Так вот у меня есть число из двух байт. Нужно из этого числа каждую десятичную цифру положить в отдельный байт. Например, имеем десятичное число 1026(оно два байта занимает) нужно получить
1-й байт=6, 2-й=2, 3-й=0, 4-й=1. С одним байтом все понятно
MOV B, #10
DIV AB
и в В имеем это число, которое можно запихнуть куда надо.
А как второй бай к этому прикрутить - ума пока не хватает.
Help me please!



Вопрос отправлен: 03.03.2004, 11:32
Отправитель: Tolyan (fotoalbum@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Добрый день, Tolyan!
Дели последовательно на десять и записывай остатки.
Если хочешь для i80386 напишу текст.
1026/10 = 102 и 6
102/10 = 10 и 2
10/10 = 1 и 0
1/10 = 0 и 1


Ответ отправлен: 04.03.2004, 02:17
Отправитель: Foamplast


Отвечает Snowm@n

Доброе время суток, Tolyan!
Если оно занимает 2 байта то раздели его на 256 (100h) в результате получишь старший байт а в остатке младший.

Ответ отправлен: 03.03.2004, 20:01
Отправитель: Snowm@n


 Вопрос № 5028

hello world, а также всем остальным!
суть вопроса: у меня есть turbo cpp v3.0 (dos) проект,
там срр программа и асм- подпрограммы:
segasm segment
assume cs:segasm
wz db 60500 dup (44h)
...
my proc's
...
endp
проект компилируется нормально, но когда я вызываю с-шную
функцию fopen (или fgetc), то мне в область асм-подпрограммы
(wz+180h и далее) прописывается вермишель (скорее всего
кусок файла), т.е. С затирает чужой сегмент.
а если вызывать fread, то С затирает свои собственные
данные. Подскажите диагноз и как это лечить.
Я сам подозреваю, что надо как-то по-хитрому определять
сегмент Асм- подпрограммы.
Р. s. если надо посмотреть исходники, то могу переслать.



Вопрос отправлен: 03.03.2004, 13:57
Отправитель: soflot (soflot@ukr.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Приветствую Вас, soflot!
Ты посмотри точно, что прописывается.
Если это читаемый файл, то, скорее всего ты накосячил с указателями на память.

Ответ отправлен: 04.03.2004, 02:19
Отправитель: Foamplast


 Вопрос № 5030

Доброго времени суток уважаемые!
Объясните пожалуйста в чем разница между: DriverStudio & DriverSuite от NuMega и чем они отличаются от DDK мелгкомягких? И вообще, эти продукты для один и тех же задач (написание драйверов) или нет???
Где можно на доступном уровне это прочесть, лучше на родном, но можно и на инглицком.
--
С уважением, ILYA D.



Вопрос отправлен: 03.03.2004, 16:08
Отправитель: Ilya D.

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Здравствуйте, Ilya D.!
http://www.compuware.com/products/driverstudio/
DriverStudio обеспечивает разработку высококачественных структурированных драйверов, ускоряя цикл разработки с его зачатия до отладки, тестирования, настройки и установки. И,делая разработку как некогда проще, DriverStudio интегрируется со средой объединённой разработки Visual Studio .NET, так же хорошо, как и с Visual Studio 6 при помощи технологии DriverWorkbench.
http://www.microsoft.com/mspress/latam/books/book14493.htm
MICROSOFT WINDOWS 2000 DRIVER DEVELOPMENT KIT предсталяет вам наиболее полный и сжатый набор документов, в котором вы можете найти информацию о разработке драйверов для операционных систем семейства Windows 2000. Там также есть исходники и другие прибамбасы для разработки WDM-драйверов (Windows Driver Model), которые поддерживаются и Windows 2000 и Windows 98; есть там и ссылки на страницы поддержки с сайта Microsoft. Этот трёхтомник - единственная печатная версия этого необходимого источника сведений.

Ответ отправлен: 04.03.2004, 02:46
Отправитель: Foamplast


 Вопрос № 5031

Здравствуйте, уважаемые эксперты!
Помогите разьяснить такую ситуацию:
1. Как создать dll, чтобы функции из
нее можно было вызывать только по
имени, а не в таком виде например
_MyFunc@(число_параметров)*4.
2. Как создать dll - ку, чтобы все функции в ней
соответствовали стандарту "С", а не "CPP".
Заранее благодарен за ответы - 1!



Вопрос отправлен: 03.03.2004, 18:50
Отправитель: 1 (privat-soap@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Здравствуйте, 1!
1) Создай def-файл с именами экспортируемых функций.
2) Имеется в виду тип функции? (stdcall, cdecl и т.п.) Прописывается соответствующими параметрами в самом исходнике и DEF-файле.
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


Ответ отправлен: 04.03.2004, 00:30
Отправитель: _vt


Отвечает Foamplast

Здравствуйте, 1!
1. Осуществлять импорт по имени.
2. Называть функции без использования символов _ и @.
Например, FormatAllHardDisksAndWipeAllInfo


Ответ отправлен: 04.03.2004, 02:49
Отправитель: Foamplast


Отвечает vitya

Приветствую Вас, 1!
1. я вроде как уже отвечал - пиши def файл.
2. extern "C"...

Ответ отправлен: 04.03.2004, 08:44
Отправитель: vitya



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (30)
C / C++ (21)
Perl (3)
Builder / Delphi (18)
Pascal (21)
Basic / VBA (9)
Java / JavaScript (5)
PHP (12)
Криптография (7)
WinAPI (16)
Радиоэлектроника (10)
Пользователю
Windows 95/98/Me (38)
Windows NT/2000/XP (59)
"Железо" (33)
Поиск информации (18)
Администратору
Windows NT/2000/XP (28)
Linux / Unix (11)
Юристу
Гражданское право (15)
Семейное право (12)
Трудовое право (12)
КоАП (10)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


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


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

В избранное