Project

General

Profile

Вызов программы ASM из Си » History » Version 2

Version 1 (krufter_multiclet, 07/19/2013 05:09 PM) → Version 2/20 (krufter_multiclet, 07/19/2013 05:23 PM)

h1. Вызов программы ASM из Си

Вызов программы, написанной на ассемблере из Си организован при помощи стека. Подробнее о стеке можно прочитать тут [[Обзор работы со стеком]].

Рассмотрим пример вызова процедуры, написанной на ассемблере, из Си функцией типа *void*.

Пусть программа на ассемблере принимает два аргумента и выполняет их сложение, а также выдает результат через UART.

На Си вызов функции будет выглядеть так:

<pre>
#include <HDL51001_ccf.h>

void function_add(int arg1, int arg2);

void main()
{
int a,b;

a = 19;
b = 7;
function_add(a,b);
a = 20;
b = 13;
function_add(a,b);
}

</pre>