Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Dll на ASMеё, Как? 
:(
    Опции темы
Mephisto
Дата 27.4.2004, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Люди, раздуплите как создать библиотеку с внешней функцией на асме. Функцию мона сделать элементарную. Вполне подойдет inc. Так чтобы я передал байт, она сделала inc. Я забрал байт.
Очень нуна. Спасибо всем кто ответит!
PM   Вверх
Akina
Дата 27.4.2004, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



DLL by Babek
TASM | 7.29 kb
Создание и использование динамической библиотеки
http://www.wasm.ru/srclist.php?list=6



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Kurt
Дата 29.4.2004, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 1
Всего: 36



Сегодня понадобилась библиотека с функцией, к-я переводит BigInt в SmallInt. Я тебе ее скидываю - можь, поможет.
Написана на MASM:
Код

;myDLL.asm
;this unit is only for MASM compilier!
.486
.model flat
public _IntConvert@4;function returns iverted integer value
.data?
tmpValue dd ?
.code
_start@12:
mov eax,1
ret 12
_IntConvert@4 proc
pop ecx
pop eax
bswap eax
push ecx
ret
_IntConvert@4 endp
end _start@12


Это сообщение отредактировал(а) Kurt - 29.4.2004, 23:46


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Mephisto
Дата 6.5.2004, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Люди, шо я делаю неправильно?
Код
Public MaximTest
Code Segment byte public 'CODE'
Start:
assume cs:Code
MaximTest Proc
mov dx, 378h
in al, dx
mov ah, al
shl ah, 7
cmp ah, 128
je Left
shr al, 1
cmp al, 100b
jne exit
mov al, 10001b
jmp exit
Left:
shl al, 1
xor al, 11b
cmp al, 1
jne exit
mov al, 64
exit:
out dx, al
ret
MaximTest EndP
Code ends
end Start

Сделано на ТАСМе. Не хочет компилировать ДЛЛ. withstupid.gif
PM   Вверх
Mephisto
Дата 12.5.2004, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Есть у кого очень простой пример на тасме. Просто я очень давно не писал в асме. Тогда ещё не было такого понятия как длл и внешних функций, появилось достаточное количество непонятных для меня регистров. Просто последний раз писал прогу на асме ещё в 10 лет. smile.gif
Нужен очень простой пример! Плиз. Все попытки приводят к одной ошибке "Не удается создать СОМ файл" или что-то вроде этого. Если кто может, помогите написать для примера внешнюю функцию с одной входящей переменной ByRef(ссылка на переменную), в самой функции будет её инкремент, конец функции.
PM   Вверх
Lan
Дата 12.5.2004, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 12.3.2004
Где: Владимир

Репутация: нет
Всего: 1



Цитата
Люди, шо я делаю неправильно?

Во-первых, DLL линкуется в TASM'е со специальным ключём.
Во-вторых, сама структура программы у тебя неправильна. Например, должна быть функция инициализации DLL.
PM ICQ   Вверх
Mephisto
Дата 12.5.2004, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Цитата
Во-первых, DLL линкуется в TASM'е со специальным ключём.

Да, есть такое дело. Линкую именно как длл.
Цитата
Во-вторых, сама структура программы у тебя неправильна. Например, должна быть функция инициализации DLL.

Если мона тут подробнее. notify.gif

PM   Вверх
Jin X
Дата 15.5.2004, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 5.3.2004

Репутация: 1
Всего: 1



--------------------
Бойся своей мечты, ибо она осуществима!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.