hvordan du ringer montering rutine fra C

S

s3034585

Guest
hei folkens
jeg er ny dette emnet ...Dermed trenger litt hjelp ...

kanne alle ettall pls forklare hvordan du ringe montering funksjon fra C. jeg vet hvordan du ringer andre rutine fra C men jeg er ikke i stand til å forstå hvordan å kalle en forsamling kode.

Jeg leste flere artikler om dette.i at de har nevnt for å kalle det er en funksjon som ethvert annet C funksjon.men forsamlingen rutine er ikke det samme som C. så hvordan kan den fungere akkurat som alle andre funksjon i C. Er det at kompilatoren forstå både C syntaks og montering syntaks og deretter ikke konverteringen funksjon og lage en EXE-fil ...

takk
Tama

 
Du kan prøve følgende som er den vanlige måten od kaller forsamlingen rutiner i C:
. globl ASM
. ent ASM

. ASM:
----
----
. end ASM

sørg for at du passerer en tegn-streng-bokstavelig som en param og ikke som ugyldig ...

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 
Det avhenger av kompilatoren!
del C-kompilatorer akseptere # pragmas som gjør det mulig å inkludere i tråd assembler!
Men er ikke måten å inkludere et stort stykke kode

Jo mer comun måte å erklære stykke assambler som en rutine (i ca funksjon) som er extern til c-programmet

som dette

extern myassfun (); <- betyr at funksjonen er definert et annet sted
deretter bruke den som det var en vanlig C-funksjon. Den assambler implementeringen av funksjonen er gjort som en fast rutine som i de andre kommentaren ovenfor. med globale synlighet. Så det kan bli eksportert til linker. Endelig er det linker som setter den alle sammen.
Nå, jeg var en veldig rask i denne forklaringen. Kanskje du må passere variabler mellom c og montering. For at du må lese particuliar dokumentasjon av verktøyene som du bruker. Er slag en differerent fra redskap til redskap

 
Du begynner å skrive i C, og deretter kan du skrive i ASM:

Code:

# include ...
/ / begynne i c-koden

...

...

# ASM

; Her du skriver ASM-koden

# endasm

/ / Fortsette i c
 

Welcome to EDABoard.com

Sponsor

Back
Top