Официальный сайт студ.городка НГТУ
Программирование и БД » Помогите ASM 

#1  23.10.07 21:55

Помогите ASM

Нужно оформить  программу в виде  Си-функции как ето дело и какие настройки ставить в опциях что бы VC8 или BorlandC компилировал ASM - компилил код?
заранее спасибою.

Offline

#2  23.10.07 22:55

Re: Помогите ASM

перед каждой строкой ассмовского кода пиши 'asm '

Offline

#3  23.10.07 23:29

Re: Помогите ASM

Muxa написал(а):

перед каждой строкой

а разве в блок выделить нельзя?

Offline

#4  24.10.07 04:41

Re: Помогите ASM

Если тебе это по учебе надо, то мы, по-моему, это делали, так: писали функцию на ассемблере, а потом вызывали из программы на Си. В Borland C++ 3.1, для этого нужно создать проект и добавить в него файл на Си, в котором будет головная программа, и файл на ассемблере, ещё неплохо было бы подключить заголовочный файл с прототипом функции на ассемблере.

Если же нужно просто включить код ассемблера в программу на Си, то как это сделать уже написали выше.

Offline

#5  24.10.07 19:50

Re: Помогите ASM

Вроде с одним понятно. А вот как на АСМЕ зделать для протатипа void f1(char *str1, char *str2, int n);

Исправлено APOCALYPSES (24.10.07 20:21)

Offline

#6  24.10.07 23:28

Re: Помогите ASM

Можно и блок и так. Я делал так: объявлял функцию особым образом), ну с учетом параметров там название вроде надо написать и _ добавить что ли, а потом вызывал bcc  и передавал ему объектный файл скомпилиный асмом и си++ объектный файл, а в оболочке головняков было много, поэтому не стал делать.

Offline

#7  25.10.07 02:48

Re: Помогите ASM

в ассемблеровском файл:

Код::

.MODEL SMALL, C
.CODE

f1 proc near, str1:word, str2:word, n:word
; здесь код твоей функции
; после near можешь ещё дописать uses si di, если они тебе нужны
f1 endp

PUBLIC f1

в заголовочном файле:

Код::

extern "C" void f1(char *str1, char *str2, int n);

это для Borland C++ 3.1, в других компиляторах может модифицироваться название функции при переходе от асма к си.

Offline

#8  25.10.07 15:13

Re: Помогите ASM

+++++

Offline

#9  25.10.07 22:20

Re: Помогите ASM

AntiGen написал(а):

в ассемблеровском файл:

Код::

.MODEL SMALL, C
.CODE

f1 proc near, str1:word, str2:word, n:word
; здесь код твоей функции
; после near можешь ещё дописать uses si di, если они тебе нужны
f1 endp

PUBLIC f1

в заголовочном файле:

Код::

extern "C" void f1(char *str1, char *str2, int n);

это для Borland C++ 3.1, в других компиляторах может модифицироваться название функции при переходе от асма к си.

большое спасибо!

Offline

Программирование и БД » Помогите ASM 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.088 сек.
Выполнено 14 запросов.