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.