Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.03.2010, 11:50   #1
DartDayring
Пользователь
 
Регистрация: 10.02.2010
Сообщений: 55
Стрелка Вопрос. Про передачу массива

Допустим есть код на СИ со вставкой на ассемблере.
Как передать массив с СИ в вставку на Ассемблере?

Последний раз редактировалось DartDayring; 28.03.2010 в 15:52.
DartDayring вне форума
Старый 28.03.2010, 14:39   #2
xVxSeRGxVx
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 42
По умолчанию

при передачи масив параметром в функцию, написаной на АСМ-ме, передаеться в асм указатель на этот масив размеров в 4 байта, при этом, что-бы получить этот указатель в АСМе нужно прописать в функции(например есть фнкция - funcsh):
Код:
public funcsh
funcsh proc  near
	push bp ; сохраняем начало стека(вроде :d )
	mov bp, sp
	lds si, dword ptr[bp+4];получаем указатель на массив
        ;..................
        ; код программы
        ;..................
	pop bp
	ret 
endp funcsh
вот так вот
xVxSeRGxVx вне форума
Старый 28.03.2010, 15:54   #3
DartDayring
Пользователь
 
Регистрация: 10.02.2010
Сообщений: 55
По умолчанию

С СИ в вставку не асем?

Можешь вот это глянуть http://www.cyberforum.ru/assembler/thread109468.html

Последний раз редактировалось Stilet; 27.10.2011 в 08:31.
DartDayring вне форума
Старый 28.03.2010, 18:25   #4
xVxSeRGxVx
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от DartDayring Посмотреть сообщение
Можешь вот это глянуть http://www.cyberforum.ru/assembler/thread109468.html
код модуля на АСМе:
Код:
public funcsh
funcsh proc  near
	push bp ; сохраняем начало стека(вроде :d )
	mov bp, sp
	lds si, dword ptr[bp+4];получаем указатель на массив
        mov cx, [bp+2];к-во елементов в массиве
        M1:

        ;это цыкл, перестановки 

        LOOP M1
        ; код программы 
        ;..................
	pop bp
	ret 
endp funcsh
перестановки сам сделаеш
xVxSeRGxVx вне форума
Старый 29.03.2010, 02:27   #5
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

если это будет вставка а не функция, то может проще сделать

LEA esi, [a]
MOV ecx, n

?

Последний раз редактировалось f.hump; 29.03.2010 в 02:30.
f.hump вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про циклический сдвиг массива С++ Юлия12 Общие вопросы C/C++ 4 08.02.2010 08:52
Вопрос про C# BanzoO Общие вопросы C/C++ 1 02.07.2009 03:47
Задача про сдвиг массива 12345678 Общие вопросы C/C++ 11 02.02.2009 14:02
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24