Komunikacja między C a Asemblerem

0

Mam do napisania program. W języku C program wczytuje liczbę i zapisuje za pomocą wskaźnika. Jak odczytać ten wskaźnik w podprogramie napisanym w asemblerze?

0

Rozumiem ,że chcesz wywołać procedurę napisaną w assemblerze z poziomu C. Napisz sobie deklarację fukcji void fun(int * liczba). Wywołaj tę funkcję. W funkcji w assemblerze pobierz po prostu ten 32 bitowy adres np tak
mov eax, [EBP + 8] ;
mov ebx, [eax]
oczywiścię te EBP + 8 zależy czy stworzyłeś ramkę stosu. Jak jej nie stworzyłeś to adres pierwszego elementu wyliczasz tak: [esp + 4] bo na stosie znajduje się jeszcze adres powrotu.

0

Obczaj link'a. Świetna sprawa! http://gynvael.coldwind.pl/?id=387

1 użytkowników online, w tym zalogowanych: 0, gości: 1