setting the speed for the future of games programming
vectorc

contentsclose
 

INLINE ASSEMBLY LANGUAGE

VectorC allows inline assembly language in 2 formats:

__asm instruction

or

__asm {
instructions
}

You can refer to variable and function names within the assembly code. Using assembly language in a function forces a stack frame with EBP to be used. To define an assembly language function without generating code to create and remove a stack frame, use __declspec (naked).



Operators supported in expressions

+ - * / arithmetic
offset the address of a variable
[] the value at an address
dword 32-bit
qword 64-bit
word 16-bit
byte 8-bit
t-byte 80-bit
xmmword 128-bit
short short branch offset
long long branch offset
ptr  


Directives supported

.286, .286p, .87, .386, .386p, .486, .486p Ignored - no processor before pentium is supported by VectorC
.586, .586p set target to Pentium
.mmx allow MMX instructions
.686, .686p set target to Pentium Pro
.pii set target to Pentium II
.piii set target to Pentium III
.p4 set target to Pentium 4 (Willamette) - preliminary support only
.k6 set target to K6
.k62 set target to K6-2
.3dnow allow 3DNow! instructions
.xmm allow SSE instructions
.athlon set target to Athlon
.align align code/data


Instructions supported

VectorC supports the full set of instructions of all the processors it compiles for.

top

contentsclose