Features
Here is what you can do when writing inline assembly code:
Use any instruction from the Intel instruction set.
Use register names as operands.
Reference function parameters by name.
Reference code labels and variables declared outside the asm block.
Use numeric literals that incorporate either assembler-style or C-style radix notation such as and .
Use the operator in statements such as .
Use the and directives.
Limitations
You can not do the following when writing inline assembly code:
Use data definition directive such as () and ().
Use assembler operators (other than ).
Use , , , and .
Use macro directive, including , , , , and , or macro operators (<>, !, &, %, and ).
Reference segments by name.
Length, Type, and Size
You can use the , , and operators with the inline assembler.
The operator returns the number of elements in an array.
The operator returns one of the following, depending on its target:
The number of bytes used by a C/C++ type or scalar variable
The number of bytes used by a structure
For an array, the size of a single array element
The operator returns .
Microsoft Visual C++ inline assembler does not support the and operators.
“I’m not arguing, I’m just explaining why I’m right.”
― Unknown