developer-delphi-assembly-delphi-functions

Implement assembly-based Delphi functions using assembler directives and NASM objects.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Delphi developers often need ultra-fast routines, but Pascal can introduce overhead. This skill provides a structured approach to implementing functions entirely in assembly using the built-in assembler, enabling optimized performance without leaving Delphi code.

Core Features & Use Cases

  • Pure-assembly Delphi functions: write functions entirely in assembly with the assembler directive, avoiding inline Pascal.
  • X64 pseudo-ops: use .PARAMS, .PUSHNV, .SAVENV, and .NOFRAME to control prologue/epilogue and ABI compliance.
  • NASM linkage and symbol export: link NASM-generated .obj files and export symbols for Delphi interop (including DLL usage).
  • Interoperability and ABI guidance: map parameters and return values consistently across Win32/Win64.

Quick Start

Define a pure-assembly Delphi function with the assembler directive and include the appropriate pseudo-ops before the body, then compile and link any NASM objects as needed.

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

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

FAQPage Schema
How do I write a pure assembly function in Delphi without inline Pascal?

Define a pure-assembly Delphi function using the assembler directive and include appropriate pseudo-ops before the body to avoid inline Pascal and control prologue and epilogue generation for optimized performance.

How do I link NASM object files with Delphi for Win64?

You link NASM-generated .obj files into Delphi by exporting symbols for Delphi interop, ensuring that parameter mapping and return values are consistent with the Delphi ABI across Win32 and Win64 platforms.

What do the .PARAMS, .PUSHNV, and .NOFRAME pseudo-ops do in Delphi assembly?

The .PARAMS, .PUSHNV, .SAVENV, and .NOFRAME pseudo-ops control prologue and epilogue generation and manage ABI compliance in Delphi assembly functions, allowing precise stack frame and register preservation control.

When should I use pure assembly instead of Pascal in Delphi?

Use pure assembly in Delphi for performance-sensitive libraries, wrappers around NASM routines, and interop with external DLLs on Win32 and Win64 when Pascal introduces unacceptable overhead and ultra-fast execution is required.

Does Delphi assembly support both Win32 and Win64 calling conventions?

Yes, Delphi assembly supports both Win32 and Win64 by carefully managing prologues, epilogues, and ABI compliance using pseudo-ops, ensuring parameters and return values map consistently across platforms.