RAD Studio (Common)
ContentsIndex
PreviousUpNext
Inline Assembly Code (Win32 Only)

This section describes the use of the inline assembler on the Win32 platform.

Name 
Description 
The built-in assembler allows you to write assembly code within Delphi programs. The inline assembler is available only on the Win32 Delphi compiler. It has the following features:
  • Allows for inline assembly.
  • Supports all instructions found in the Intel Pentium 4, Intel MMX extensions, Streaming SIMD Extensions (SSE), and the AMD Athlon (including 3D Now!).
  • Provides no macro support, but allows for pure assembly function procedures.
  • Permits the use of Delphi identifiers, such as constants, types, and variables in assembly statements.
As an alternative to the built-in assembler, you can link to object files that contain external procedures and functions.... more 
The inline assembler is available only on the Win32 Delphi compiler. The following material describes the elements of the assembler syntax necessary for proper use.
  • Assembler Statement Syntax
  • Labels
  • Instruction Opcodes
  • Assembly Directives
  • Operands
 
The built-in assembler evaluates all expressions as 32-bit integer values. It doesn't support floating-point and string values, except string constants. The inline assembler is available only on the Win32 Delphi compiler.
Expressions are built from expression elements and operators, and each expression has an associated expression class and expression type. This topic covers the following material:
  • Differences between Delphi and Assembler Expressions
  • Expression Elements
  • Expression Classes
  • Expression Types
  • Expression Operators
 
You can write complete procedures and functions using inline assembly language code, without including a begin...end statement. This topic covers these issues:
  • Compiler Optimizations.
  • Function Results.
The inline assembler is available only on the Win32 Delphi compiler. 
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!