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

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


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

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

Выпуск № 707
от 17.03.2004, 14:50

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


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

_vt
Статус: Профессиональный
Общий рейтинг: 117.71
[Подробней >>]
Pawel
Статус: Профессиональный
Общий рейтинг: 163.14
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 133.41
URL: Super Assembler Software
Телефон: Пчёлка +7 905 6601206
[Подробней >>]
 
St
Статус: Профессиональный
Общий рейтинг: 105.31
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 116.56
[Подробней >>]
Foamplast
Статус: Опытный
Общий рейтинг: 161.45
URL: мой личный сайт
[Подробней >>]
 
SedHg
Статус: Опытный
Общий рейтинг: 111.89
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 143.01
URL: Программирование
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 105.75
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]


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

Вопрос № 5074. можно ли из исходника на Fortrane получить исходник на C?... (ответов: 2)
Вопрос № 5076. Уважаемые эксперты! Почему простая программа по выводу одного сообщения занимает 4 Mb памяти? Наверн... (ответов: 3)
Вопрос № 5078. Функция 10h прерывания 16h, в AX помещает код клавиши, которую нажал пользователь. В книге Зубкова ... (ответов: 3)
Вопрос № 5079. здрасьти... вот мой вопросы (как обычно дурацкие :)): 1) я опять со своими контрольными :), там тако... (ответов: 4)
Вопрос № 5080. Уважаемые эксперты вопрос как в Win32 к обьекту типа EDIT который многостраничный добавить к уже им... (ответов: 3)
Вопрос № 5082. Вот написал программу, управление символом с клавиатуры. Можно ли процедуру Move организовать по дру... (ответов: 3)
Вопрос № 5083. Здравствуйте эксперты. Дано 32 - разрядное виртуальное адресное пространство. Возможно выделить учас... (ответов: 1)
Вопрос № 5084. Уважаемые эксперты. Можно ли в режиме VESA 118h (1024*768*24бита) подключить мышку. И если да то как... (ответов: 3)
Вопрос № 5085. Здравствуйте уважаемые эксперты! Подскажите, пожайлуста, где можно найти инфу по написанию драйвер... (ответов: 1)
Вопрос № 5086. Можно какой-нибудь линк на форум по асму. Где поактивнее, а то на какой не зайду везде , раз в 3-4 д... (ответов: 1)
Вопрос № 5087. Здраствуйте. У меня что-то не получается самому описывать API-функции. masm32 постоянно выводит ошиб... (ответов: 3)

Вопросов: 11, ответов: 27


 Вопрос № 5074

можно ли из исходника на Fortrane получить исходник на C?



Вопрос отправлен: 10.03.2004, 21:35
Отправитель: x

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

Отвечает _vt

Приветствую Вас, x!
Из экзешника, написанного на любом языке, можно получить исходник на ассемблере! =)
--- E-Man 1.5+ : RTFM, RTFM и RTFM (В. И. Ленин)


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


Отвечает Pawel

Приветствую Вас, x!
Можно, методом полного переписования :)

Ответ отправлен: 11.03.2004, 18:48
Отправитель: Pawel


 Вопрос № 5076

Уважаемые эксперты! Почему простая программа по выводу одного сообщения занимает 4 Mb памяти?
Наверное, это из-за больших размеров загружаемых dll - в Windows XP user32.dll=560640 байт и
kernel32.dll=936448 байт, но это ещё не 4 Mb, что же тогда ещё занимает память?
Как сделать, чтобы включить процы из dll прямо в программу и будут ли они правильно работать
на других Windows? Всегда спасибо за ответы.


Приложение:


Вопрос отправлен: 11.03.2004, 14:00
Отправитель: Alex

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

Отвечает Евгений Иванов

Здравствуйте, Alex!
Программа занимает в памяти немного место, а то, что библиотеки так занимают, это не страшно, они используются многими программами.
Бывай!
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 12.03.2004, 10:43
Отправитель: Евгений Иванов


Отвечает St

Привет, Alex!
Возможно, что большой объем памяти занимаемый программой связан не с подключаемыми библиотеками, а с размером сегментов, которые линковщик определяет по-умолчанию. Я пишу на Tasm и раньше при создании exe-шника выводилось что-то вроде: стек меньше чего-то там, устанавливаю 1 Мб.
St

Ответ отправлен: 12.03.2004, 12:14
Отправитель: St


Отвечает Pawel

Доброе время суток, Alex!
Оень маловероятно такое, может вы ошиблесь.

Ответ отправлен: 12.03.2004, 19:55
Отправитель: Pawel


 Вопрос № 5078

Функция 10h прерывания 16h,
в AX помещает код клавиши, которую нажал пользователь.
В книге Зубкова есть таблица "Коды символов расширенного ASCII"
там написано следующее
Up 48h
Down 50h
Right 4Dh
Left 4Bh
вызвал процедуру, но код клавиши 48h был не в AL а в AX,
так же для клавиши Z, в AX помещается один и тот же код
т.е. независмимо от языка и регистра, а в AL код маленькой и большой Z, отличается.
Как бы не запутатся, допустим я буду проверять клавишу F1 где будет ее код, в AX, но перед этим AL будет=0?



Вопрос отправлен: 11.03.2004, 20:37
Отправитель: Ti

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

Отвечает Pawel

Здравствуйте, Ti!
Цитата из Зубкова:
"INT 16h, АН = 0, 10h, 20h — Чтение символа с ожиданием
Ввод: АН = 00h (83/84-key), 10h (101/102-key), 20h (122-key)
Вывод: AL = ASCII-код символа, 0 или префикс скан-кода
АН = скан-код нажатой клавиши или расширенный ASCII-код"
Как та
В AH-сканкод клавиши, а в AL - аски символ
Смотри макрос

Приложение:

Ответ отправлен: 11.03.2004, 22:21
Отправитель: Pawel


Отвечает Ayl

Доброе время суток, Ti!
Функция 10h, прерывание 16h
In:
AH = 10h
Out:
AL = Ascii-код символа или 0 для расширенных кодов
AH = Scan-код клавиши
Замечу, что AX = AH << 8 || AL
Т.о., возвращаемое значение для некоторых клавиш:
Клавиша AL AH AX
Z 5a 2c 2c5a
z 7a 2c 2c7a
Up 00 48 4800
Down 00 50 5000
Left 00 4b 4b00
Right 00 4d 4d00
F1 00 3b 3b00
и т.д.


Ответ отправлен: 12.03.2004, 13:35
Отправитель: Ayl


Отвечает Foamplast

Здравствуйте, Ti!
1. Ты, скорее всего, попутался: в смысле AX и AH. Будь внимательней!
2. Код, наверное, будет в AH.
3. А ты вообще башку не забивай. Смотри, какие коды лезут от каких клавиш, да мотай на ус.


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


 Вопрос № 5079

здрасьти...
вот мой вопросы (как обычно дурацкие :)):
1) я опять со своими контрольными :), там такое задание надо десытичное число (например 123,45)перевести в двойчную систему, как это сделать?(число именно дробное, это не опечатка)
2) как из 8-й системы в 10-ю переводить?
3) еще одно задание такое: мол надо найти доп. код цифры
а прикол в том, что когда инвертируем цифру (в двоичной системе) она становится ну например вот такой: 1111111b
и к этой цифре надо прибавить 1b , что получиться, то
10000000b - это ведь не правильно?
(тока не надо спрашивать почему я у препода не узнаю...
я с ним в конфликте :) )
и еще:
я прочитал пару книжек по ассму, а потом взял туториал по вирусам (какого-то Билли Бельбо или что-то в этом роде), ну наверняка вы это читали, так вот там 3-я глава, по "бронирование кода", ну и там всякие приколы, мол вставь в коди отладчик умрет, но я вот одного не пойму, ну вставил я код, чтобы клава отключалась, но что мешает мне в отладчике обойти эти сточки???
кстати, что за 3-е прерывание такое?
заранее спасибо



Вопрос отправлен: 12.03.2004, 10:15
Отправитель: очень хочу научиться

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

Отвечает SedHg

Здравствуйте, очень хочу научиться!
1)Насколько я понимаю, как перевести целое число
из 10-ой в 2-ую с.с. ты знаешь. Поэтому подробно объясню
только как переводить дробную часть. Итак, берем предложенное тобой число 123,45, отделяем целую часть от дробной, и переводим её как простое целое число. Результат преобразования будет целой частью нашего двоичного числа. Дробную часть, в отличие от целой мы будем не делить, а умножать на 2. Алгоритм преобразования такой: выделяем
дробную часть (0,45), умножаем, как я уже сказал, на 2, полученное число условно разделяем на две части,целую и дробную. Целую часть(я её выделил так []) принимаем в качестве первого разряда после запятой .
Мы продолжаем умножение до тех пора пока дробная часть, полученная после умножения,не станет равна нулю(подумай в каком случае это произойдет :-))либо если достигнута
необходимая точность вычисления.
%-%-%-%Перевод дробной части%-%-%-%-%
0,45
х
2
---------
[0], 9
х
2
--------
[1],8
х
2
--------
[1],6
x
2
--------
[1],2
x
2
-------
[0],4
...
%-%-%-%-%-%
В итоге получаем: 1111011,0111
P.S. по мастдаевскому калку можешь не проверять, он в этом случае глючит, отбрасывает дробную часть :-(
=======================================
2)!!!!!!Вниманию всех подписчиков!!!!!!
Алгоритм перевода в десятичную систему счисления(да в принципе в любую) из любой другой выполняется по одному алгоритму. А именно, берем число n-ой с.с. делим его, на число десять, преобразованное в n-ую с.с., остаток от деления запоминаем, частное от этого деления становится делимым (т.е. числом, которое мы будем снова делить на "десять") делим до тех пора пока остаток от деления не станет равен нулю. Затем выписываем остатки в порядке обратном их получению. И ставим перед полученным числом частное от предпоследнего деления. Итак, конкреный пример перевода числа из 8-ой в 10-ую систему счисления.
Возмем число 243(oct), будем делить его на 12("10" в oct). Короче...
243 / 12 = 20 [3]
20 / 12 = 1 [6]
1 / 12 = 0 ...STOP
Как я сказано выше записываем наши остатки в обратном порядке, и ставим перед ним предпоследнее
частное (1). В итоге получаем 163. Вот так.

P.S. С преподавателями лучше не ссорится, все равно тебе же боком выйдет ;).
P.P.S. Кстати, на каком ты факультете учишься, если до сих пор не знаешь способы перевода из одной в другую систему счисления.


Ответ отправлен: 13.03.2004, 01:53
Отправитель: SedHg


Отвечает Bob Johnson

Доброе время суток, очень хочу научиться!
1. Можно сделать так: найти положение десятичной точки, затем считать целую часть справа налево (тогда вес разряда будет увеличиваться в 10 раз на каждый разряд), а затем дробную слева направо (тогда вес будет уменьшаться в 10 раз) и потом сложить.
2. Так же, только вес разряда будет 8.
3. Нет, почему же, это правильно. Например: 1 = 01b, если проинвертировать, получим 1...10b, добавим 1, получим 1..11b, т.е. -1

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


Ответ отправлен: 12.03.2004, 13:12
Отправитель: Bob Johnson


Отвечает Ayl

Здравствуйте, очень хочу научиться!
1. Переводится в 2 этапа. Сначала целая часть, потом дробная. Алгоритм перевода дробной части см. в Приложении.

2. Если у тебя есть 8-ричное число вида
o(N)o(N-1)...o(i)...o(1)o(0), где o(i) - цифры от 0 до 7,
то десятичное число D вычисляется так:
D = o(N)*8^N + o(N-1)*8 + ... + o(i)*8^i + ... + o(1)*8 + o(0)

3. Не понял про цифру. Перевод в доп.код - инвертировать все биты числа и к результату прибавить 1. Игнорировать перенос из старшего разряда. Например (разрядная сетка = 4 бита, числа от -8 до +7):
1 = 0001 => -1 = 1110 + 1 = 1111
7 = 0111 => -7 = 1000 + 1 = 1001
0 = 0000 => -0 = 1111 + 1 = (1)0000 = 0000 = 0
-2 = 1110 => 2 = 0001 + 1 = 0010
-6 = 1010 => 6 = 0101 + 1 = 0110
-8 = 1000 => 8 = 0111 + 1 = 1000 - особый случай, переполнение

4. Ничего не мешает. Но обычно пользуются не одним каким-нибудь способом, а несколькими... К тому же что бы обойти кусок кода надо хотя бы примерно предполагать, что этот код делает. А если у тебя код зашифрован (для защиты от дизассемблеров) + используются переходы в середины команд (для затруднения отладки) + модификация кода + привязка к контрольной сумме выполненных команд (например, для последующей расшифровке) + сам объем выполняемых команд модуля защиты составляет несколько тысяч команд, то найти место, где отрубается клавиатура практически невозможна.

3-е прерывание - это аппаратная точка останова. Занимает 1 байт. Управление передается на адрес соответствующего вектора. Обычно используется отладчиками для формирования точек останова в программе. Выглядит это дело так. Пусть есть программа и мы хотим поставить точку останова по адресу XXXX:YYYY.
Отладчик заменяет байт по адресу XXXX:YYYY на команду INT, запоминая старый байт. Когда процессор доходит до этого адреса, он выполняет прерывание №3, сохраняя, как обычно, в стеке регистр флагов, XXXX и YYYY + 1.
Обработчик 3-его прерывания заменяет адрес возврата на YYYY, восстанавливает байт по этому адресу и переводит процессор в пошаговый режим (устанавливая флаг T в 1). после чего возвращает управление. Все, мы на точке останова!
И программа в исходном состоянии.

Ответ отправлен: 12.03.2004, 15:53
Отправитель: Ayl


Отвечает Foamplast

Приветствую Вас, очень хочу научиться!
1. Ты, главное, потом по ответам экспертов напиши учебник. Заодно и денег примешь. Вот тебе обяснение из Зубкова:
Двоичная запись числа с плавающей запятой аналогична десятичной, только позиции справа от запятой соответствуют не делению на 10 в соответствующей степени, а делению на 2. Пример (перевести 0,625 в двоичную систему):
0.625 - 1/2 = 0.125
1/4 больше, чем 0.125
0.125 - 1/8 = 0
Итак, 0.625 = 0.101b
2. Предвижу твою следующую контрольную: перевести число 0121020121 из троичной системы счисления в тринадцатеричную :). Чтобы легче жилось, уясни следующее:
ОБЩЕЕ ПРАВИЛО ПЕРЕВОДА ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ
Берёшь исходное число. Записываешь его цифры с помощью чисел той системы, в которой считаешь (я в десятичной, если что) через запятую. Потом умножаешь каждое из них на основание системы счисления в той степени, каков номер позиции (считают справа налево, начиная с нуля). Складываешь всю эту бодягу. Ура! Число переведено в родную для тебя (пятеричную, девятеричную и т.д.) систему.
Теперь берёшь получившееся число и делишь на основание той системы, в которую переводить надо. При этом на каждом шаге записываешь остаток и частное. Частное опять делишь на основание системы и записываешь остаток и новое частное.
И так до посинения, а точнее, пока частное не станет меньше основания. Теперь выписываешь все остатки задом наперёд, причём последнее частное (которое меньше основания, ну на что делим) первым, а за ним все остатки. Записываешь эту фиготень числами новой системы, т.е. если переводил в шестнадцатеричную, то все 11 меняешь на B, все 15 на F и т.д.
Всё переведено.
ПРИМЕР: перевести число 56B1 из двенадцатеричной системы в семеричную.
56B1 = 5,6,11,1
5*12^3+6*12^2+11*12^1+1*12^0 = 9637 (я через ^ обозначаю возведение в степень)
9637 / 7 = 1376 и 5 в остатке
1376 / 7 = 196 и 4 в остатке
196 / 7 = 28 и 0 в остатке
28 / 7 = 4 и 0 в остатке
4 < 7. Стоп
4,0,0,4,5
56B1 в двенадцатеричной равно 40045 в семеричной.
Если заметил, фактически выполняются 2 перевода: из исходной в родную и из родной в заданную. Это можно упростить до одного перевода, если ты умеешь считать сразу в заданной системе счисления. То есть, если ты умеешь считать в семеричной системе, то можешь писать так:
56B1 = 5*15*15*15 + 6*15*15 + 14*15 + 1*1 = 34122 + 2343 + 234 + 1 = 40045 (правильность этой строки не гарантирую)
Но оставь это преподу, от этого рехнуться можно. Я рекомендую делать как описал, с двумя проверками.
3. Всё у тебя правильно, только в твоём примере число 7-ми битное, а мозги у тебя, видимо 8-ми битные :). Дело в том, что после сложения ты получаешь восемь бит, но ведь исходное число-то 7-ми битное! В реальном компе этот старший бит не уместится, и получится ноль. Таким образом, доп. код. ноля - ноль, что и требовалось доказать. А с преподом не рамси, тебе экзамен сдавать.
И ещё, отладчик умрёт, только если у него такой баг есть. Все антиотладочные методы суть использование багов отладчиков. Если отладчик совершенен (например, если в мозгу считать и не свихнуться), то ничего не прокатит. А обойти эти строки вообще никто не мешает. Всё это развод лохов. 3-е прерывание вызывается командой int3. Некоторые отладчики её пихают прям в код, а потом свою процедуру на это прерывание ставят. Это устарело. Сечас братва отладочные регистры использует.

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


 Вопрос № 5080

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



Вопрос отправлен: 12.03.2004, 10:24
Отправитель: greg

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

Отвечает St

Привет, greg!
Можно установить курсор в конец текста с помощью EM_SETSEL (выделить 0 символов) и заменить это выделение с помощью EM_REPLACESEL на свой текст.
St

Ответ отправлен: 12.03.2004, 12:22
Отправитель: St


Отвечает Bob Johnson

Здравствуйте, greg!
Можно установить выделение за последний символ и вызвать SETSEL (или что-то такое)

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


Ответ отправлен: 12.03.2004, 13:12
Отправитель: Bob Johnson


Отвечает Foamplast

Доброе время суток, greg!
1. Указать стиль DS_LOCALEDIT и самому управлять буфером edit'а. Тогда ты можешь знать, где у тебя конец текста и добавлять текст безо всяких там копирований. Чтобы указать edit'у, какой буфер использовать, шли ему EM_SETHANDLE. Чтобы узнать handle используемого им буфера, шли сообщение EM_GETHANDLE.
2. Сформировать буфер обмена текстового формата и послать edit'у сообщение WM_PASTE.

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


 Вопрос № 5082

Вот написал программу, управление символом с клавиатуры.
Можно ли процедуру Move организовать по другому?, а то меня например пугает обилие меток(еще с паскаля их не использовал) и переходов в ней, но по другому придумать не смог. Это первая программа "не c книги" по этому не судите строго.


Приложение:


Вопрос отправлен: 12.03.2004, 16:02
Отправитель: Ti

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

Отвечает Pawel

Приветствую Вас, Ti!
Ну и что. По мойму всё нормально работает, а без меток всё равно нельзя.

Ответ отправлен: 14.03.2004, 12:16
Отправитель: Pawel


Отвечает Foamplast

Здравствуйте, Ti!
В целом всё правильно.


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


Отвечает _vt

Приветствую Вас, Ti!
А в ассемблере без меток и не обойтись. Это в высокоуровневых языках использование меток нежелательно.
E-Man : Life begins at 1000Mhz!


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


 Вопрос № 5083

Здравствуйте эксперты.
Дано 32 - разрядное виртуальное адресное пространство. Возможно выделить участок непрерывной памяти превышающий размер 4 Мб? При этом размер сегмента 12 разрядов (4 Кб размер страницы). 4 Мб я выбрал исходя из соображения модели 2 – уровневой таблицы страниц. Под размер 1 - страницы отведено 10 разрядов (0..2^10-1), под размер 2 – страницы также отведено 10 разрядов. Аргументируйте свой ответ пожалуйста.
--
В описанной выше модели смещение будет принимать следующее множество чисел: Offset=0..2^12-1. Стало быть при выделении 4 Мб памяти, скажем под некоторую переменную, она будет иметь 2^10-1 участков (сегментов) памяти по 4 Кб. Каждый из этих сегментов будет иметь собственное 12 разрядное смещение. Но такая организация памяти организованна на аппаратном уровне. Какой размер смещения в реальных программах?



Вопрос отправлен: 12.03.2004, 16:41
Отправитель: kuper1

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

Отвечает Foamplast

Добрый день, kuper1!
Если мы говорим про i80686 и выше, то
1. Можно создавать страницы по 4 Кб и по 4 Мб.
2. Можно выделить непрерывный блок, состоящий болле чем из одной страницы.

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


 Вопрос № 5084

Уважаемые эксперты. Можно ли в режиме VESA 118h (1024*768*24бита) подключить мышку. И если да то как.



Вопрос отправлен: 12.03.2004, 22:23
Отправитель: marat

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

Отвечает Gibbel

Здравствуйте, marat!
Можно, используя INT 33h. Правда, тебе придется самостоятельно прорисовывать курсор.

Ответ отправлен: 15.03.2004, 10:04
Отправитель: Gibbel


Отвечает Pawel

Добрый день, marat!
Да можно, необходимо обрабатывать прерывание мыши int 33h

Ответ отправлен: 14.03.2004, 12:28
Отправитель: Pawel


Отвечает Foamplast

Доброе время суток, marat!
Указательное устройство "мышь" с платой видеоадаптера никак не связано, поэтому, конечно, можно. Для этого нужно получать сообщения от мыши (удобнее от её драйвера) и рисовать курсор.


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


 Вопрос № 5085

Здравствуйте уважаемые эксперты!
Подскажите, пожайлуста, где можно найти
инфу по написанию драйверов для принтера
(Электроника СМ6738) под Windows 9x (если
можно дайте ссылки). Какова должна быть его
структура?
Заранее благодарен.



Вопрос отправлен: 13.03.2004, 00:46
Отправитель: Андрей

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

Отвечает Pawel

Здравствуйте, Андрей!
Ну вам нужно найти описание комманд ля портов конкретного принтера. По-мойму стоит порыться в фидошных архивах.

Ответ отправлен: 14.03.2004, 12:32
Отправитель: Pawel


 Вопрос № 5086

Можно какой-нибудь линк на форум по асму. Где поактивнее, а то на какой не зайду везде , раз в 3-4 дня обновляется.



Вопрос отправлен: 13.03.2004, 13:44
Отправитель: Ti

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

Отвечает SedHg

Добрый день, Ti!
http://wasm.ru/forum/index.php


Ответ отправлен: 13.03.2004, 15:42
Отправитель: SedHg


 Вопрос № 5087

Здраствуйте.
У меня что-то не получается самому описывать API-функции.
masm32 постоянно выводит ошибку и не хочет компилить.
В чем дело?


Приложение:


Вопрос отправлен: 13.03.2004, 14:49
Отправитель: Семен

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

Отвечает Евгений Иванов

Доброе время суток, Семен!
два подчёркивания...
__imp_**
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 13.03.2004, 23:13
Отправитель: Евгений Иванов


Отвечает Pawel

Доброе время суток, Семен!
попробу описать так
extrn _impExitProcess@4:dword

Ответ отправлен: 14.03.2004, 12:37
Отправитель: Pawel


Отвечает Foamplast

Здравствуйте, Семен!
У меня тоже были проблемы. Это от того, что в microsoft дачный участок копают не лопатой и даже не мотоблоком, а реактивным самолётом. Выкинь masm нафиг и поставь nasm. Посмотри код одной из твоих будущих программ в приложении.


Приложение:

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



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (29)
C / C++ (22)
Perl (4)
Builder / Delphi (21)
Pascal (23)
Basic / VBA (8)
Java / JavaScript (8)
PHP (14)
Криптография (8)
WinAPI (17)
Радиоэлектроника (11)
Пользователю
Windows 95/98/Me (42)
Windows NT/2000/XP (59)
"Железо" (35)
Поиск информации (22)
Администратору
Windows NT/2000/XP (29)
Linux / Unix (14)
Юристу
Гражданское право (13)
Семейное право (12)
Трудовое право (12)
КоАП (9)

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




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


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


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


В избранное