developer-delphi-assembly-expressions

Compute compile-time Delphi assembly offsets, sizes, and indices for NASM macros.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Expressoes assembly Delphi em tempo de compilacao — OFFSET (endereco de variavel/ símbolo), TYPE (tamanho), SIZE (tamanho total de arrays), VMTOFFSET (offset de metodo virtual) e DMTINDEX (indice de dynamic), bem como enderecamento com LEA e macros NASM para Delphi.

Core Features & Use Cases

  • Offsets and sizing: compute OFFSET, TYPE, and SIZE for globals and composite types.
  • Dispatch & optimization: VMTOFFSET for virtual methods and LEA-based multiplications without MUL.
  • NASM macros: support for NASM style macros and cross-tool assembly usage.

Quick Start

Compute the address of a global variable using OFFSET in Delphi assembly to illustrate a typical use case.

Frequently Asked Questions about developer-delphi-assembly-expressions

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

FAQPage Schema
How do I compute Delphi assembly offsets like VMTOFFSET and DMTINDEX at compile time?▼

Delphi assembly offsets like VMTOFFSET and DMTINDEX are computed at compile time by evaluating the Delphi VMT/DMT structures to resolve virtual and dynamic method dispatch indices for code generation.

What is the difference between TYPE and SIZE in Delphi inline assembly expressions?▼

TYPE in Delphi inline assembly returns the size of a single element, while SIZE returns the total allocated memory for arrays, allowing precise memory addressing during assembly code generation.

How do I use LEA for multiplications without MUL in Delphi assembly?▼

LEA-based optimizations in Delphi assembly compute multiplications without MUL by using addressing modes to perform arithmetic, requiring knowledge of inline assembly syntax and safe usage guidelines.

Can I use NASM macros with Delphi assembly for cross-tool code generation?▼

Yes, NASM macros are supported for Delphi cross-tool assembly usage, allowing OFFSET, TYPE, and LEA patterns to be integrated into macro-based code generation workflows.

Do I need to understand Delphi VMT and DMT structures to use assembly offsets?▼

Yes, understanding Delphi VMT and DMT structures is required to safely compute compile-time assembly offsets, as VMTOFFSET and DMTINDEX rely on accurate virtual and dynamic method table layouts.

How do I get the address of a global variable using OFFSET in Delphi assembly?▼

OFFSET in Delphi assembly retrieves the compile-time address of a global variable or symbol, enabling direct memory referencing for code generation and macro use.