powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / C++ и asm
4 сообщений из 4, страница 1 из 1
C++ и asm
    #34745294
Student...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
цель такая... Нужно написать прогу на С++ (VC) , еще отдельный модуль на asm и вот этот модуль вызывать из основной программы на С... Сишный модуль работает, asm тоже вроде работает. Но не получается параметры передавать из С в ASM... Помогите пожалуйста, нужно передать два параметра, оба строки
...
Рейтинг: 0 / 0
C++ и asm
    #34746571
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой асм?

если присоединяешь объектник, то передавать в стеке.
передавать указатели на строку в стеке и в асме уже крутиться

аффтопитезь: 4 8 15 16 23 42
...
Рейтинг: 0 / 0
C++ и asm
    #34748707
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Student...цель такая... Нужно написать прогу на С++ (VC) , еще отдельный модуль на asm и вот этот модуль вызывать из основной программы на С... Сишный модуль работает, asm тоже вроде работает. Но не получается параметры передавать из С в ASM... Помогите пожалуйста, нужно передать два параметра, оба строки

лучше всего поставить в азме инструкцию вида int 3h ,подоготовить все те параметры которые хотите передавать, записать определённые параметры (чтоб "в глаза" их можно было узнать) и под отладчиком смотрите...запускаете на рантайм, бряк Вам сделает остановку..параметры смотрите как куда и сколько...так найдёте адреса, ссылки и прочую муть....причём этот метод подходит не только для си...а для любого языка программирования вызывающего азм...

к этому можно добавить некотоые разделы по сям и совместному использованию азма и сей..встречается в старых учебниках по си обычно... из этих разделов можно подчерпнуть теорию - как по уму..объявлять, передавать и прочее...


с уважением
(круглый)
...
Рейтинг: 0 / 0
C++ и asm
    #34749508
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Student...цель такая... Нужно написать прогу на С++ (VC) , еще отдельный модуль на asm и вот этот модуль вызывать из основной программы на С.. в MSDN, в "C++ Language Reference", есть несколько полезных статей в иерархии статья "Calling Conventions": "Argument Passing and Naming Conventions", "Calling Example: Function Prototype and Call" и "Results of Calling Example". Строки в C передаются как указатели.
Если не хочется разбираться - напишите заглушку для asm модуля на C, скомпилируйте в assembler и выдерните объявление и обращение к аргументам.

Например:
Код: plaintext
 void myfunc(char * a, char * b) { strcpy(a,b); } 
Cl /Fa qq.c:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
PUBLIC	_myfunc
EXTRN	_strcpy:PROC
; Function compile flags: /Odtp
_TEXT	SEGMENT
_a$ =  8 							; size =  4 
_b$ =  12 						; size =  4 
_myfunc	PROC
	push	ebp
	mov	ebp, esp
	mov	eax, DWORD PTR _b$[ebp]
	mov	ecx, DWORD PTR _a$[ebp]
; EAX, ECX, содержат b и a, соответственно
	add	esp,  8 
	pop	ebp
	ret	 0 
_myfunc	ENDP
_TEXT	ENDS
END
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / C++ и asm
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]