Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1

ASM-вставка, OBJ файл

11.06.2014, 10:07. Показов 1167. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вызывать подпрограмму из OBJ-файла скомпилированного в FASM'e?
В дельфи всё как-то намного проще:
Delphi
1
2
{$L Proc.OBJ}
procedure Proc(x:array of integer; out x:integer); external; stdcall;
Как на С++ такое запилить (реал, очень надо)?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2014, 10:07
Ответы с готовыми решениями:

Как прикрутить .obj файл к проекту?
Студия 2008 экспресс.Как это сделать?Пробовал в дополнительные параметры командной строки линкера путь к файлу дописать.Но эта зараза его в...

Есть obj файл, как перевести его обратно в asm
Здравствуйте.Есть obj файл, как перевести его обратно в asm?

asm вставка в C++
есть код #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; slozh(int* pi1, int...

7
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
11.06.2014, 13:05
C++
1
extern "C" int __stdcall Proc(int x[]);
Ну и proc.obj, разумеется, включить в проект.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
11.06.2014, 15:25  [ТС]
CheshireCat, в фасме я напишу тогда так:
Assembler
1
2
extrn x ; кагбэ параметр
extrn Result ;Тут понятно
А то я к дельфи привык немного, там по-другому... А кстати, а void можно заюзать?
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
11.06.2014, 15:42
А зачем в фасме тебе описывать x и Result? x - это параметр, для массива (неизвестной длины) это будет указатель, передаваемый через стек, доступ к нему у тебя будет через ebp + смещение; а Result - это вообще выходной результат, он обычно возвращается через eax.

void заюзать, конечно же, можно. Но как ты будешь тогда возвращать результат работы Proc?
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
11.06.2014, 16:30  [ТС]
CheshireCat, голова ломается. Со стэком я ничего не понимаю! Ладно, dword передам через стэк, ну а 256-битный AVX тип, как мне передать через стэк?
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
11.06.2014, 17:22
Читать здесь: http://www.agner.org/optimize/... ntions.pdf
0
4192 / 1839 / 222
Регистрация: 06.10.2010
Сообщений: 4,125
13.06.2014, 16:42
256-битный AVX тип, как мне передать через стэк?
Через указатель
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
14.06.2014, 22:27  [ТС]
murderer, Так, указатель на 256-битную переменную находится в [esp+8]. Извлекаем мы его оттуда как?
В делфи я так делал: x := pointer^[f], например. А на ассемблере как извлечь?

Добавлено через 10 часов 20 минут
Так что-ли?
Assembler
1
2
 mov eax, [esp+8]
 vmovaps [eax]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2014, 22:27
Помогаю со студенческими работами здесь

Вставка asm в С++
Здравствуйте! Помогите пожалуйста! Задание: Вычислить арифметическое выражение. Требуется написать функцию на языке C++ с вставкой на...

Asm вставка
Пишу в первый раз в жизни на ассемблере если что: После ввода значений переменных vicual c++ 2008 вырубается. Возможно в шоке от моего кода...

Вставка на asm
есть вставка на asm'е function Bit(Value, n: Integer): Boolean; asm bt eax, edx setc al and eax, 0FFh end; ...

asm вставка в C++
#include <iostream> int a = 10; void func( int& aIn ) { __asm { mov aIn, 15 } }

ASM вставка с SSE
Здравствуйте. У меня есть код на FASM (фрактал Мандельброта), и в нём прописана визуализация. На фасме работает быстрее, однозначно! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru