developer-delphi-assembly-delphi-inline

Document inline Delphi asm syntax, labels, and platform restrictions.

Updated Jan 6, 2026
One-click install
npx skills add https://github.com/cslsoftwares/ParamentersORM --skill developer-delphi-assembly-delphi-inline
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: developer-delphi-assembly-delphi-inline
Source: https://github.com/cslsoftwares/ParamentersORM/tree/main/.cursor/skills/developer-delphi-assembly-delphi-inline_V1.0.0
Command: npx skills add https://github.com/cslsoftwares/ParamentersORM --skill developer-delphi-assembly-delphi-inline

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Delphi developers often need to embed built-in assembler blocks within Pascal routines to optimize hot paths, access locals, and manipulate object fields, but the syntax, constraints, and platform differences are easy to misuse. This skill documents the proper usage of inline asm blocks (asm..end), the rules for local labels prefixed with @, and the OFFSET/PTR modifiers, while clarifying platform support and the NOSTACKFRAME directive.

Core Features & Use Cases

  • Inline assembler guidance for Win32/Win64 Delphi (and limited LLVM/other compilers as noted).
  • Access to local variables and object fields from within asm blocks.
  • Label naming conventions (local labels must start with @) and platform restrictions.
  • Clear rules for NOSTACKFRAME and the proper contexts for using asm..end versus pure assembler blocks.
  • Real-world scenarios: micro-optimizations in hot paths; low-level field access; CPU-specific instructions.

Quick Start

Begin by inserting an inline asm block with asm .. end inside a Delphi function or procedure to optimize a hot path, ensuring labels use the @ prefix and respecting platform constraints.

Frequently Asked Questions about developer-delphi-assembly-delphi-inline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write inline asm blocks inside Delphi Pascal routines?

To write inline asm blocks in Delphi, insert an asm..end block within your Pascal function to optimize hot paths, ensuring local labels use the @ prefix and syntax follows platform constraints.

Can I access local variables and object fields from a Delphi inline asm block?

Yes, inline asm blocks in Delphi allow direct access to local variables, method parameters, and object fields, enabling low-level manipulation and micro-optimizations within your Pascal routines.

What is the NOSTACKFRAME directive used for in Delphi inline assembler?

The NOSTACKFRAME directive in Delphi omits stack frame generation for inline assembler routines, useful for micro-optimizing hot paths where manual stack management is preferred over automatic compiler handling.

Does Delphi inline assembly work on iOS and Android platforms?

Delphi inline assembler has platform-specific limitations and restrictions for iOS and Android, primarily targeting Win32/Win64, with noted constraints when using LLVM-based toolchains for mobile compilers.

Why do my local labels in Delphi asm blocks cause syntax errors?

Local labels in Delphi asm blocks must start with the @ prefix to avoid syntax errors, ensuring proper label naming conventions are followed within the inline assembler scope.

When should I use inline asm versus pure assembler blocks in Delphi?

Use inline asm..end blocks inside Pascal routines for hot path optimizations and local field access, while pure assembler blocks are suited for contexts requiring complete routine-level assembly control.