Discussione: [C+ASM]
View Single Post
Old 13-12-2012, 14:54   #1
blu1988
Member
 
Iscritto dal: May 2010
Messaggi: 42
[C+ASM]

Ciao a tutti,

devo realizzare un programma in C che richiama una procedura assembler.

Per iniziare ho scritto un semlice programma in C che passa due int alla procedura e dovrebbe ritornare la somma.

Ma ho diversi dubbi:

-con cosa compilo e linko? e come??(sono sotto windows e uso gcc per C e MASM per assembler)
-è corretto come definisco la procedura?


Procedura in asm
Codice:
	PUBLIC _sum
	.model SMALL
	.stack
	.data
	.code
	.startup
	.exit
_sum				PROC neAR
		push bp
		MOV BP,SP
		MOV AX,[BP+4]
		MOV BX,[BP+6]
		ADD AX,BX
		pop bp
		RET
_sum	ENDP

		END
Programma in c
Codice:
#include <stdio.h>

extern  int sum (int ,int);

void main()
{
	int n1,n2;
	
	printf("Inserisci due numeri\n");
	printf("Primo numero:");
	scanf("%d",&n1);
	printf("/nSecondo numero:");
	scanf("%d",&n2);
	printf("\n");
	printf("La somma dei due numeri e':%d",sum(n1,n2));
	
	return;

}
blu1988 è offline   Rispondi citando il messaggio o parte di esso