Incorporating assembly with c, Incorporating c with assembly, Example – Zilog Z80380 User Manual
Page 48

Incorporating Assembly with C
C-Compiler Overview
2–14
UM004001-COR1103
INCORPORATING ASSEMBLY WITH C
The Z380- C-Compiler allows the user to incorporate assembly code into their C code.
In the body of a function, use the asm statement. The syntax for the ASM statement is
_asm(“
•
The contents of
•
The only processing done on the
•
Normal C escape sequences are translated
Example
#include
int main()
{
_asm(“\tnop\n”);
return (0);
}
INCORPORATING C WITH ASSEMBLY
The C libraries that are provided with the compiler can also be used to add functionality to an
assembly program. The user can create their own function or they can reference the library
using the ref statement.
N
OTE
:
The C-compiler precedes the use of globals with an underscore in the generated assembly.
Example
The following example shows the C function imul() being called from assembly lan-
guage. The assembly routine pushes two words onto the stack (parameters x and y for the
function imul), calls the function imul, then cleans the arguments off the stack.
Assembly file.
.ref _imul; Compiler prepends ‘_’ to names
.text
_main:
push.w20; parameter
push.w10; parameter